// 要用到其他的地方去.只要復制我標識的中間點就可以了.
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class tt extends JFrame {
public tt() {
//-------------------- 關閉監聽----------
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
int a = JOptionPane.showConfirmDialog(null, "確定關閉嗎?", "溫馨提示",
JOptionPane.YES_NO_OPTION);
if (a == 0) {
System.exit(0); //關閉
}
}
});
//--------------------
setSize(100, 100);
setVisible(true);
}
public static void main(String[] args) {
tt t = new tt();
t.setDefaultCloseOperation(3);
}
}
⑵ 關於java中多個彈出窗口的單個關閉方式
在Java中,對窗口任何操作都會對應的監聽事件,故要實現關閉一個窗口時彈出另回外一個窗口,只需答要在該關閉的窗口的監聽事件中添加彈窗事件即可。
具體實現如下:
this.addWindowListener(new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e)
{
setVisible(false);
new JFrame("新窗口");
}});
在JavaGUI編程中,關閉窗口彈出新窗口是很常見的動作,比如一個窗口的業務操作完成了,需要跳轉到另一個窗口繼續執行,此時就需要關閉舊窗口並彈出新窗事件。值得注意的地方時,有時候的關閉往往只是暫時的將舊窗口暫時隱藏,而不是真的關閉,因為之後可能還會繼續用到,為了節省開銷,暫時的隱藏有利於提供效率。
⑶ javaGUI開發:我寫一個類繼承了JFrame,寫了一個監聽窗口關閉的事件,為什麼點擊關閉窗體關了後台沒關呢
其實JFrame可以用這個方法實現關閉窗口的:
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
這樣就不用加監聽器了。
你的方法為什麼不好用呢,因為你的方法里那個W大寫了,哈哈,應該是:
public void windowClosing()
一般來說JAVA里的方法名的首字母都是小寫的,這樣就容易記住了。
⑷ java 關閉子窗口 返回父窗口的問題(詳見補充)
將JFrame2作為JFrame1的子組件,JFrame1中添加對JFrame2的相關監聽,比如收到JFrame2關閉的事件時,就調用相關函數將JFrame1設置為可用。