2016-06-12 17 views
0

Dies ist meiner Ansicht nach Klasse. Die Hauptklasse startet das Programm tatsächlich. Der folgende Code wurde in der Ansicht verwendet, da er die GUI und Ereignisbehandlungsroutinen (Aktionslistener) enthält.Hinzufügen eines Window zu JFrame (Fenster geöffnet)

public class TheaterView extends JFrame implements WindowListener{ 
    public void windowOpened(WindowEvent e) { 
      displayMessage("WindowListener method called: windowOpened."); 
    } 
} 

Das ist, was ich tue, aber es gibt die Fehlermeldung: TheaterView nicht abstrakt ist und überschreibt nicht abstrakte Methode windowDeactivated (Window) in Window.

Wie auch immer, ich die Methoden implementieren und nutzen Sie diese (ich andere zu bekommen, aber das ist die einzige, die ich brauche):

@Override 
    public void windowOpened(WindowEvent e) { 
     throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. 
    } 

Es ist jedoch nicht zu funktionieren scheint, wenn ich irgendetwas tun, wie Verwenden Sie den Befehl println. Ich möchte, dass es etwas macht, sobald das Programm zum ersten Mal ausgeführt wird, d. H. Wenn das Fenster geöffnet wird.

suchte ich viel, aber ich kann es noch nicht herausfinden. Jede mögliche Hilfe würde geschätzt :)

-Code in main:

TheaterView theater = new TheaterView("Movie Theater"); 
theater.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
theater.setLocation(200, 200); 
theater.pack(); 
theater.setVisible(true); 

Antwort

2

Haben overide Sie alle abstrakten Methoden von Ihrem Zuhörer? etwas wie folgt aus:

public void windowClosing(WindowEvent e) { 
    aboutFrame.dispose();  
} 

public void windowClosed(WindowEvent e) { 
} 

public void windowIconified(WindowEvent e) { 
} 

public void windowDeiconified(WindowEvent e) { 
} 

public void windowActivated(WindowEvent e) { 
} 

public void windowDeactivated(WindowEvent e) { 
} 
+0

Ja, ich habe diese Anweisung innerhalb public void windowOpened (Windowevent e): System.out.println ("yayy"); Es scheint jedoch nicht zu drucken. – Burhan

+0

erhalten Sie immer noch eine Fehlermeldung? –

+0

Ich bekomme keine Fehlermeldung, aber nichts scheint zu passieren. – Burhan

Verwandte Themen