我已經寫了一個表單,並通過查看各種資源已經拿出了一個表單,當按下「X」時可以關閉自己。但是,我似乎是以一種相當黑客的方式做到這一點的。Java JFrame創建關閉按鈕
(代碼我張貼已經條紋的非相關的美容細節,但它是在-本質基於此教程彈出通知:http://harryjoy.me/2011/07/01/create-new-message-notification-pop-up-in-java/)
public class Notification extends JFrame {
private JFrame uglyJFrameHack;
public Notification(String header, String message) {
super();
uglyJFrameHack = this;
JButton closeBtn = new JButton("X");
closeBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
uglyJFrameHack.dispose(); //here's where this all seems screwy.
}
});
this.add(closeBtn);
this.setVisible(true);
}
}
我可以」 t似乎在actionPerformed方法中使用「this」而沒有引用別的東西。我做了System.out.println(this.getClass());
,它給了我class Notification$1
。所以我試着將它轉換爲通知對象,但日食給我一個錯誤,說明Cannot cast from new ActionListener(){} to Notification
。
我有它的方式安裝工程,似乎沒有任何問題,但這也不是好的做法。有一個更好的方法嗎?謝謝大家。
所以我再次遇到這個問題,我記得之前我曾問過這個問題,所以我回頭看了一遍。回顧這兩個答案,我現在意識到這應該是第一次實際選擇的答案。感謝這 –
'我現在意識到這應該是第一次實際選定的答案。「 - 謝謝,遲到比從未好;) – camickr