0
JFrameとJTextFieldがあります。JFrameヘッダをクリックするとポップアップが表示されます
JWindowに基づいてポップアップウィンドウを作成します。これは、textFieldに無効な値がある場合に表示されます。
メインJFrameを移動したり、JFrameヘッダーをクリックしたときにポップアップを非表示にしたいとします。
JFrameとJTextFieldがあります。JFrameヘッダをクリックするとポップアップが表示されます
JWindowに基づいてポップアップウィンドウを作成します。これは、textFieldに無効な値がある場合に表示されます。
メインJFrameを移動したり、JFrameヘッダーをクリックしたときにポップアップを非表示にしたいとします。
JWindow
にWindowFocusListener
を追加し、フォーカスが失われたときにsetVisible(false)
を追加します。
popup.addWindowFocusListener(new WindowAdapter() {
public void windowLostFocus(WindowEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
それともそれはあなたが後にしているものではありませんならば、あなたはJFrame
にComponentListener
を追加することができます:
frame.addComponentListener(new ComponentAdapter(){
public void componentMoved(ComponentEvent e) {
if (popup.isVisible()){
popup.setVisible(false);
}
}
});
JWindowのがフォーカスを受け取りません。このような何か。そしてcomponendMovedは、移動が終了してウィンドウを移動して[ESC]を押すときには機能しません。 – Alexandr
「装飾されていないJDialog」を考慮してください。 – rtheunissen
TextFieldからフォーカスを失うことはありません) – Alexandr