บทความนี้จะแสดงวิธีปิดหน้าต่างใน Java การปิดหน้าต่างทำได้ง่ายกว่ามากโดยใช้ Swing's
เจเฟรม
แต่ก็สามารถทำได้โดยใช้ AWT's
กรอบ
ขั้นตอน
วิธีที่ 1 จาก 2: การใช้ javax.swing. JFrame
ขั้นตอนที่ 1 รับอินสแตนซ์ของa
เจเฟรม
หรือสร้างใหม่
ขั้นตอนที่ 2 ตั้งค่าการดำเนินการปิดเริ่มต้น
การดำเนินการปิดเริ่มต้นถูกตั้งค่าโดยใช้วิธี setter ภายใน
เจเฟรม
ระดับ
setDefaultCloseOperation
ที่กำหนดว่าจะเกิดอะไรขึ้นเมื่อมีการคลิกปุ่มปิดและใช้พารามิเตอร์ต่อไปนี้:
-
WindowConstants. EXIT_ON_CLOSE
-
WindowConstants. DISPOSE_ON_CLOSE
-
WindowConstants. HIDE_ON_CLOSE
HIDE_ON_CLOSE
และ
DISPOSE_ON_CLOSE
- คือตัวหลังปล่อยทรัพยากรทั้งหมดที่ใช้โดยเฟรมและส่วนประกอบ
-
WindowConstants. DO_NOTHING_ON_CLOSE
WindowListener
ไปที่เฟรมและเอาชนะ
การปิดหน้าต่าง
กระบวนการ. ตัวอย่างของการดำเนินการปิดแบบกำหนดเอง:
frame.setDefaultCloseOperation(WindowConstants. DO_NOTHING_ON_CLOSE); frame.addWindowListener (WindowAdapter ใหม่ () { @Override public void windowClosing (WindowEvent e) { // ขอคำยืนยันก่อนสิ้นสุดโปรแกรม int option = JOptionPane.showConfirmDialog (เฟรม "คุณแน่ใจหรือไม่ว่าต้องการปิดแอปพลิเคชัน", "ปิดการยืนยัน", JOptionPane. YES_NO_OPTION, JOptionPane. QUESTION_MESSAGE); if (option == JOptionPane. YES_OPTION) { System.exit(0); } } });
วิธีที่ 2 จาก 2: การใช้ java.awt. Frame
ขั้นตอนที่ 1 รับอินสแตนซ์ของa
กรอบ
หรือสร้างใหม่
ขั้นตอนที่ 2. เพิ่มตัวฟังหน้าต่าง
เรียก
addWindowListener
วิธีการบนอินสแตนซ์ อาร์กิวเมนต์ที่ต้องการคือ
WindowListener
. คุณสามารถใช้ทุกวิธีของ
WindowListener
อินเทอร์เฟซหรือแทนที่เฉพาะวิธีการที่คุณต้องการจาก
WindowAdapter
ระดับ.
ขั้นตอนที่ 3 จัดการเหตุการณ์การปิดหน้าต่าง
ดำเนินการ
การปิดหน้าต่าง
วิธีการจาก
WindowListener
อินเทอร์เฟซหรือแทนที่จาก
WindowAdapter
ระดับ. มีสองวิธีในการปิดหน้าต่าง:
-
ทิ้งหน้าต่างหลังจากคลิกปุ่มปิด:
-
เรียก
ทิ้ง
วิธีการภายใน
การปิดหน้าต่าง
- กระบวนการ.
frame.addWindowListener (WindowAdapter ใหม่ () { @Override public void windowClosing (WindowEvent e) {// กำจัดหน้าต่างหลังจากคลิกปุ่มปิด dispose (); } });
-
ยุติโปรแกรมหลังจากคลิกปุ่มปิด:
-
เรียก
System.exit
วิธีการภายใน
การปิดหน้าต่าง
- กระบวนการ.
frame.addWindowListener (WindowAdapter ใหม่ () { @Override public void windowClosing (WindowEvent e) {// ยกเลิกโปรแกรมหลังจากคลิกปุ่มปิด System.exit (0); } });
เคล็ดลับ
- Swing เป็นที่ต้องการมากกว่า AWT เนื่องจากอันหลังนั้นล้าสมัยจริงๆ
-
โดยใช้
WindowAdapter
ไม่ต้องลงมือทุกวิธี
WindowListener
- สัญญาบอกเราถึง แต่เฉพาะที่เราต้องการเท่านั้น