Fehler beim kompilieren unter Linux mit swing



  • Hallo community!
    Ich habe mir ein Beispiel für ein einfaches Swing Beispiel geholt und möchte es unter SUSE 11.2 kompilieren aber wenn ich es versuche "javac HelloWorldApplication.java" dann gibt er mir folgende Fehlermeldung aus

    HelloWorldApplication.java:12: cannot find symbol
    symbol  : method pack()
    location: class HelloWorldApplication
          hello.pack();
               ^
    Note: HelloWorldApplication.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    1 error
    

    Hier ist das Programm

    import javax.swing.*;
    import java.awt.*;
    
    public class HelloWorldApplication extends JApplet {
       public HelloWorldApplication(){
          getContentPane().add(new JLabel("Hallo  Welt"));
       }
    
       public static void main(String argv[]){
          HelloWorldApplication hello = new HelloWorldApplication();
    
          hello.pack();
          hello.show();
       }
    }
    

    Kann mir einer sagen warum er die Methode nicht findet?
    PS: Frohe Weihnachten 🙂



  • Das Problem ist, dass die Methode pack() für JApplets nicht implementiert ist. Ausserdem ist die Methode .show() deprecated. Deprecated heisst, dass man sie nicht mehr verwenden sollte und dass sie envtuell in den nächsten Versionen nicht mehr vorhanden sein wird.

    Nimm hello.pack() und hello.show() raus und rufe stattdessen hello.setVisible(true) auf. Dann sollte es gehen.

    *Edit
    Auch dir frohe Weihnachten 😉


Anmelden zum Antworten