Trang chủ > Java > Cách không cho đóng cửa sổ chương trình java khi click vào nút X ( close )

Cách không cho đóng cửa sổ chương trình java khi click vào nút X ( close )

Chương trình chỉ đóng form khi user click vào nút Cancel, còn khi user click vào dấu x ở góc trên của form thì chương trình sẽ hiện thông báo như sau để yêu cầu user phải click vào nút Cancel mỗi khi muốn đóng form

Sau một hồi tìm hiểu Mình tìm ra cách làm như sau :

trong Jframe đó ở contructor sau initComponents(); ta thiết lập lại quy tắc cho nút close (x) ở góc phải trên cùng của cửa sổ frame bằng lệnh :

setDefaultCloseOperation(int operation);

operation : có thể là các hằng số sau :

  • DO_NOTHING_ON_CLOSE (defined in WindowConstants): Don’t do anything; require the program to handle the operation in the windowClosing method of a registered WindowListener object.
  • HIDE_ON_CLOSE (defined in WindowConstants): Automatically hide the frame after invoking any registered WindowListener objects.
  • DISPOSE_ON_CLOSE (defined in WindowConstants): Automatically hide and dispose the frame after invoking any registered WindowListener objects.
  • EXIT_ON_CLOSE (defined in JFrame): Exit the application using the System exit method. Use this only in applications.

Mặc định netbean thiết lập trong Generated code là EXIT_ON_CLOSE tức là thoát khi click. Giờ ta không muốn chương trình thoát cần thiết lập lại thành DO_NOTHING_ON_CLOSE.

PHP Code:
 public Jtable_Exam() {
initComponents();
setLocation(200,200);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
}

Tiếp đến hiển thị thông báo click vào nút gì đó để thoát khi họ click vào nút close (x) của cửa sổ java: Trong design netbean bấm chuột phải vào JFrame đó chọn events > window > windowClosing

trong sự kiện windowClosing ta hiển thị thông báo :

PHP Code:
private void formWindowClosing(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
JOptionPane.showMessageDialog(null, "Click Exit button to exit !");
}

trong nút exit ta gọi phương thức exit của System

PHP Code:
private void lblExitActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
System.exit(0);
}

Code chương trình :

Advertisements
Chuyên mục:Java
  1. Không có bình luận
  1. No trackbacks yet.

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

%d bloggers like this: