Prosty aplet wyświetlającym napis na środku ekranu

0

Witam!
Od niedawna uczę się programowania i dotarłem właśnie do działu "Aplikacje i aplety". Próbuję napisać aplet wyświetlający napis podany w kodzie html na środku apletu. Poniższy kod bez problemów przechodzi przez kompilację jednak przy próbie uruchomienia apletu efekt nie jest taki jak oczekiwałem.

import javax.swing.JApplet;
import java.awt.*;

public class Aplet extends JApplet{
private String tekst = null;

	public int centerWidth(Graphics gDC, String a){
			FontMetrics fm = gDC.getFontMetrics();
			int strWidth = fm.stringWidth(a);
			int x = (getWidth() - strWidth)/2;
			return x;
		}
		
		public int centerHeight(Graphics gDC){
			FontMetrics fm = gDC.getFontMetrics();
			int strHeight = fm.getHeight();
			int y = (getHeight() +strHeight)/2;
			return y;
		}
		
	public void init (){
		if((tekst = getParameter("tekst"))==null){
			tekst = "Nie podano tekstu";
		}
	}
	
	public void paint (Graphics gDC){
		Aplet App = new Aplet();
		int x = App.centerWidth(gDC,tekst);
		int y = App.centerHeight(gDC);
		gDC.clearRect(0,0, getSize().width, getSize().height);
		gDC.drawString(tekst,x,y);
	}
}

Autor mojego podręcznika zrealizował to zadanie używając kodu poniżej i rzeczywiście wszystko działa.

mport javax.swing.JApplet;
import java.awt.*;

public class Applet extends JApplet {
  String tekst = null;

  	public void init (){
		if((tekst = getParameter("tekst"))==null){
			tekst = "Nie podano tekstu";
		}
	}
  public void paint (Graphics gDC) {
    FontMetrics fm = gDC.getFontMetrics();

    int strWidth = fm.stringWidth(tekst);
    int strHeight = fm.getHeight();

    int x = (getWidth() - strWidth) / 2;
    int y = (getHeight() + strHeight) / 2;
    gDC.clearRect(0, 0, getSize().width, getSize().height);
    gDC.drawString(tekst, x, y);
  }
}

Moje pytanie brzmi: dlaczego mój kod nie działa ?? Próbuję znaleźć błąd od kilkudziesięciu minut jednak wydaje mi się, że wszystko powinno działać poprawnie :/
PS.W załączniku znajduje sie efekt działania mojego aplet oraz apletu autora podręcznika

0

pobierajac wysokosc .... tekstu.... nie przekazujesz go, dodaj tam deklaracje tego stringu
skad ma wiedziec o jaka wysokosc chodzi? tekst bedzie zawieral same male litery, wielkie ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1