ฉันมี JFrame และ JTextField อยู่
ฉันสร้างหน้าต่างป๊อปอัปโดยใช้ JWindow ซึ่งจะแสดงเมื่อ textField มีค่าไม่ถูกต้อง
ฉันต้องการซ่อนป๊อปอัปเมื่อมีการย้าย JFrame หลักหรือเมื่อฉันคลิกที่ส่วนหัวของ JFrame
ฉันมี JFrame และ JTextField อยู่
ฉันสร้างหน้าต่างป๊อปอัปโดยใช้ JWindow ซึ่งจะแสดงเมื่อ textField มีค่าไม่ถูกต้อง
ฉันต้องการซ่อนป๊อปอัปเมื่อมีการย้าย JFrame หลักหรือเมื่อฉันคลิกที่ส่วนหัวของ JFrame
เพิ่ม WindowFocusListener
ไปที่ JWindow
และ setVisible(false)
เมื่อหน้าต่างสูญเสียโฟกัส บางสิ่งเช่นนี้:
popup.addWindowFocusListener(new WindowAdapter() {
public void windowLostFocus(WindowEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
หรือหากนั่นไม่ใช่สิ่งที่คุณต้องการ คุณสามารถเพิ่ม ComponentListener
ลงใน JFrame
ของคุณได้:
frame.addComponentListener(new ComponentAdapter(){
public void componentMoved(ComponentEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
undecorated JDialog
- person rtheunissen; 01.02.2012