1

JDialogを作成しましたが、モダリティはおそらく正常に動作します

dialog.setModalityType(JDialog.ModalityType.APPLICATION_MODAL);
dialog.setVisible(true);

しかし、私の問題は次のとおりです。

  • jcombobox.setSelection() の後に Jdialog をスローしています。ダイアログを非表示にするには、Accept ボタンを 2 回クリックする必要があります。ダイアログを呼び出す前に手動で jcombobox.hidePopup() を呼び出すことで修正しましたが、後者がモーダルかどうか、なぜマウス イベントがウィンドウの外でトリガーされるのか理解できません。

  • 私のメインウィンドウは何らかの方法でマウスイベントをバッファリングするため、モーダルダイアログが描画されたときにアクティブ化されないマウスイベントについては (前のポイントで発生したように)、バッファリングされ、ダイアログが閉じた後に適用されるようです。これは予期される動作ですか?

ありがとう!

4

1 に答える 1

1
  • jcombobox.hidePopup("doesn't make me sence")に置き換えるActionListenerItemListener追加するJComboBox

  • 正しく設定するために @camickr によってRequestFocusListenerを追加しますFocusOwner

  • なぜ別の理由があるのか​​ 、おそらく、正しく設定できないMouseListenersイベントが発生した場合JComponentsFocus

于 2012-05-22T18:34:04.597 に答える