[JAVA] Gdzie jest błąd?

public void drawCenteredString(String s, int w, int h, Graphics g); {

1 error

O co w tym chodzi??? POMOCY!!!

import java.awt.*;

import java.applet.*;



public class Main extends Applet {        

    final Font f=new Font("Verdana",Font.BOLD,18);



    public void paint(Graphics g) {

      Demension d=this.getSize();


      g.setColor(Color.white);

      g.fillRect(0, 0, d.width,d.height);

      g.setColor(Color.black);

      g.setFont(f);

      drawCenteredString("Witam." , d.width , d.height , g);

      g.drawRect(0, 0, d.width-1 , d.height-1);


     public void drawCenteredString(String s, int w, int h, Graphics g); {

       FontMetrics fm= g.getFontMetrics();

       int x=(w - fm.stringWidth(s))/2;

       int y=(fm.getAscent() + (h - (fm.getAscent()+fm.getDescent()))/2);

       g.drawString(s, x, y);

    }

}

POKAZAŁ:

Compiling 1 source file to C:\Documents and Settings\Jakub\Program1\build\classes

C:\Documents and Settings\Jakub\Program1\src\program1\Main.java:20: illegal start of expression

public void drawCenteredString(String s, int w, int h, Graphics g); {

1 error

BUILD FAILED (total time: 0 seconds)

czyżby kompilator nie wypluł co to za błąd?

Może warto zamknąć jedną metodę zanim się rozpocznie kolejną?

import java.awt.*; 

import java.applet.*; 



public class Main extends Applet {        

    final Font f=new Font("Verdana",Font.BOLD,18); 



    public void paint(Graphics g) { 

      Demension d=this.getSize(); 


      g.setColor(Color.white); 

      g.fillRect(0, 0, d.width,d.height); 

      g.setColor(Color.black); 

      g.setFont(f); 

      drawCenteredString("Witam." , d.width , d.height , g); 

      g.drawRect(0, 0, d.width-1 , d.height-1); 

    } ////////// <<<<<<<<<< kuku, tutaj!


     public void drawCenteredString(String s, int w, int h, Graphics g); { 

       FontMetrics fm= g.getFontMetrics(); 

       int x=(w - fm.stringWidth(s))/2; 

       int y=(fm.getAscent() + (h - (fm.getAscent()+fm.getDescent()))/2); 

       g.drawString(s, x, y); 

    } 

}

aaa, dobra, zauważyłem dopiero, masz metodę zdefiniowaną wewnątrz metody, brak nawiasu zamykającego dla paint()

Teraz się już kompiluje, ale nie wyświetla tekstu po uruchomieniu dlaczego?? Sprawdzałem na 2 komputerach i nic. Co robię żle??

sieradzkij a to już koniec kodu?

TAK, ale z tego co napisałeś to rozumiem że chyba nie??

mi tam kompilator pokazywał jeszcze kilka błędów, literówka jedna, nie Demension a Dimension i jeden niepotrzebny średnik przy funkcji drawCenteredString(), po poprawieniu:

import java.awt.*;

import java.applet.*;



public class Main extends Applet {       

    final Font f=new Font("Verdana",Font.BOLD,18);



    public void paint(Graphics g) {

      Dimension d=this.getSize();


      g.setColor(Color.white);

      g.fillRect(0, 0, d.width,d.height);

      g.setColor(Color.black);

      g.setFont(f);

      drawCenteredString("Witam." , d.width , d.height , g);

      g.drawRect(0, 0, d.width-1 , d.height-1);

    } ////////// <<<<<<<<<< kuku, tutaj!


     public void drawCenteredString(String s, int w, int h, Graphics g) {

       FontMetrics fm= g.getFontMetrics();

       int x=(w - fm.stringWidth(s))/2;

       int y=(fm.getAscent() + (h - (fm.getAscent()+fm.getDescent()))/2);

       g.drawString(s, x, y);

    }

}

Wszystko już działa, problem został rozwiązany, serdeczne podziakowania za poświącony czas dla Airborn.