私のスイング アプリケーションでは、JDialog を使用し、JDialog に JPanel を追加しました。マウスが JDialog を終了したときに、JDialog のマウス リスナーが呼び出されるようにします。これが私がやった方法です。
myJDialog.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseExited(java.awt.event.MouseEvent evt) {
System.out.println("Mouse has exited the Dialog");
}
});
実際にはマウスが終了したときに呼び出されますが、JDialog に追加された Jpanel にある JTextField にマウスが入ると、マウスがまだ JDialog 内にあるにもかかわらず、マウスが終了したときにこのリスナーが呼び出されます。マウスが完全に終了したときに呼び出され、マウスがそれ自体の子コンポーネントに移動したときに呼び出されないようにしたいのです。どうすればこれを解決できますか?