我已經從oracle-example複製了大部分代碼,所以我認爲至少我沒有添加的代碼應該是正確的,不想改變這一點。但是在Oracle的代碼,我無法實現該行正常關閉我的JFrame:frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING));
在actionPerformed方法中關閉JFrame(JFrame是私有靜態void createGUI())
private static void createGUI() {
JFrame frame = new JFrame("NameChooser");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
...
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createGUI();
}
});
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==skipButton){
frame.dispatchEvent(new WindowEvent(frame, WindowEvent.WINDOW_CLOSING)); WindowEvent.WINDOW_CLOSING)); // does not work ofc
}
}
如何關閉我的JFrame在actionPerformed法不破壞打開JFrame的這種正確的方法?
或者這個oracle代碼只適用於例子而不適用於真正的應用程序?
'#的JFrame ... dispose'我 – MadProgrammer
無法訪問我的JFrame(框架),也不JFrame的例子在我的actionPerformed法 – Cthaeh
我無法訪問我的JFrame(框架)的實例,也沒有JFrame在我的actionPerformed方法--->然後不擴展JFrame,爲這個對象創建一個局部變量,順便說一句,這是可能的,但局部變量是正確的方式 – mKorbel