Bài viết này sẽ hướng dẫn bạn cách đóng một cửa sổ trong Java. Đóng cửa sổ dễ dàng hơn nhiều bằng cách sử dụng Swing's
JFrame
nhưng cũng có thể thực hiện được bằng cách sử dụng AWT
Khung
Các bước
Phương pháp 1/2: Sử dụng javax.swing. JFrame
Bước 1. Lấy một phiên bản của một
JFrame
hoặc tạo một cái mới.
Bước 2. Đặt hoạt động đóng mặc định
Hoạt động đóng mặc định được đặt bằng cách sử dụng phương thức setter bên trong
JFrame
lớp
setDefaultCloseOperation
xác định điều gì sẽ xảy ra khi nhấp vào nút đóng và nhận các thông số sau:
-
WindowConstants. EXIT_ON_CLOSE
-
WindowConstants. DISPOSE_ON_CLOSE
-
WindowConstants. HIDE_ON_CLOSE
HIDE_ON_CLOSE
và
DISPOSE_ON_CLOSE
- là cái sau giải phóng tất cả các tài nguyên được sử dụng bởi khung và các thành phần của nó.
-
WindowConstants. DO_NOTHING_ON_CLOSE
WindowListener
vào khung và ghi đè
windowClosing
phương pháp. Ví dụ về thao tác đóng tùy chỉnh:
frame.setDefaultCloseOperation (WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Yêu cầu xác nhận trước khi chấm dứt chương trình. int option = JOptionPane.showConfirmDialog (khung, "Bạn có chắc chắn muốn đóng ứng dụng không?", "Đóng xác nhận", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (option == JOptionPane. YES_OPTION) {System.exit (0);}}});
Phương pháp 2/2: Sử dụng java.awt. Frame
Bước 1. Lấy một phiên bản của một
Khung
hoặc tạo một cái mới.
Bước 2. Thêm trình nghe cửa sổ
Gọi
addWindowListener
phương thức trên phiên bản. Đối số bắt buộc là
WindowListener
. Bạn có thể triển khai mọi phương pháp của
WindowListener
giao diện hoặc chỉ ghi đè các phương thức bạn cần
WindowAdapter
lớp.
Bước 3. Xử lý sự kiện đóng cửa sổ
Thực hiện
windowClosing
phương pháp từ
WindowListener
giao diện hoặc ghi đè nó từ
WindowAdapter
lớp. Có hai cách để đóng cửa sổ:
-
Loại bỏ cửa sổ sau khi nhấp vào nút đóng:
-
Gọi
vứt bỏ
phương pháp bên trong
windowClosing
- phương pháp.
frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Loại bỏ cửa sổ sau khi nhấp vào nút đóng. dispose ();}});
-
Chấm dứt chương trình sau khi bấm vào nút đóng:
-
Gọi
System.exit
phương pháp bên trong
windowClosing
- phương pháp.
frame.addWindowListener (new WindowAdapter () {@Override public void windowClosing (WindowEvent e) {// Chấm dứt chương trình sau khi nhấp vào nút đóng. System.exit (0);}});
Lời khuyên
- Swing được ưa thích hơn AWT vì sau này thực sự lỗi thời.
-
Sử dụng
WindowAdapter
bạn không phải thực hiện từng và mọi phương pháp
WindowListener
- hợp đồng cho chúng tôi biết, nhưng chỉ những cái chúng tôi cần.