我有下面的Java代碼片斷:如何觸發事件?
public static void main(String[] args) {
String filename = args[0];
JFrame f = new JFrame("Load Image Sample");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
f.add(new LoadImageApp(filename));
f.pack();
f.setVisible(true);
}
在其中限定的WindowClosing
事件。我如何在代碼中觸發/執行/啓動此事件,導致代碼退出?
其他問題:什麼是這個建築我在代碼中看到:
new WindowAdapter(){...}
即正常括號其次是花的呢?
事件由'JFrame'對象觸發,而不是由您觸發。第二個問題的答案是它是一個匿名類,您可以在編碼時即時定義它。 – Jagger
'New WindowAdapter(){...}'被稱爲匿名類。首先,「正常括號」被稱爲括號。其次,當你只需要重寫一個類的一個功能時,匿名類就很有用。瞭解它[這裏](http://docs.oracle.com/javase/tutorial/java/javaOO/anonymousclasses.html) –
您可以使用WindowAdapter wa = new WindowAdapter ...然後將WindowAdapter對象傳遞給addListener,現在你可以從外部操縱WindowAdapter了。 – porfiriopartida