30/09/2018, 21:25
Java Swing- CLOSING WINDOWS
Chào mọi người, em đây viết một app đơn giản. Em mong muốn khi đóng windows sẽ mở ra Options chọn “Yes” và “No”. Nếu “Yes” thì chương trình dừng hẳn. (OK không có gì sai).
Vấn đề gặp phải: Khi chọn “No”, chỉ có JFrame biến mất nhưng chương trình vẫn chạy. Mong mọi người giúp em với. Đây là đoạn code xử lý:
public void setCloseAction()
{
clientFrame.addWindowListener(new java.awt.event.WindowAdapter() {
@Override
public void windowClosing(java.awt.event.WindowEvent windowEvent) {
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog (clientFrame, "Are you sure to close this window?","Warning",dialogButton);
if(dialogResult == JOptionPane.YES_OPTION)
{
transmitter = new MessageTransmitter("[closing]" + username, host ,portNumber);
transmitter.send();
System.exit(0);
}
}
});
}
Bài liên quan
bạn set cho JFrame khi khởi tạo là là EXIT_ON_CLOSE
Dùng phương thức dispose() xem sao
Theo mình hiểu là ý bạn muốn bấm “Yes” thì chương trình dừng hẳn, bấm “No” thì nó quay lại Frame chính chứ không tắt cái gì đúng không?
Bạn làm như thế này
Sét đặt việc bấm nút close sẽ không gây ảnh hưởng gì cả
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Đặt
System.exit(0);
vào khối lệnhif (result == JOptionPane.YES_OPTION) {}
để kết thúc chương trình khi người dùng bấm “Yes”Cảm ơn mọi người góp ý. Mình làm theo bạn LazyCat thì thành công, cảm ơn bạn nhiều.