Hallo,
ich habe ein Problem mit JPopupMenu und dem Focus listener. Der FocusListener funktioniert. Das PopUp lässt sich nicht schließen, wenn der Benutzer außerhalb des PopUps mit der Maus klickt. Mir ist aufgefallen, dass der Focus nicht auf das PopUp gesetzt wird. Ein "requestFocus()", "requestDefaultFocus()", "requestFocus(true)" oder "requestFocusInWindow()" helfen auch nicht weiter.
Ich suche jetzt nach einer Möglichkeit dass das Fenster sich schließt, wenn der Benutzer in einen anderen Bildschirmbereich klickt. Kann jemand weiterhelfen?
ich habe ein Problem mit JPopupMenu und dem Focus listener. Der FocusListener funktioniert. Das PopUp lässt sich nicht schließen, wenn der Benutzer außerhalb des PopUps mit der Maus klickt. Mir ist aufgefallen, dass der Focus nicht auf das PopUp gesetzt wird. Ein "requestFocus()", "requestDefaultFocus()", "requestFocus(true)" oder "requestFocusInWindow()" helfen auch nicht weiter.
Ich suche jetzt nach einer Möglichkeit dass das Fenster sich schließt, wenn der Benutzer in einen anderen Bildschirmbereich klickt. Kann jemand weiterhelfen?
Code:
final JPopupMenu popup = new JPopupMenu();
JMenuItem mniDel = new JMenuItem("Löschen");
JMenuItem mniClose = new JMenuItem("Schließen");
popup.add(mniDel);
popup.add(mniClose);
popup.setLocation(e.getX(), e.getY());
popup.setInvoker(popup);
popup.setVisible(true);
popup.setFocusable(true);
popup.requestFocus();
popup.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
System.out.println("lost"); //$NON-NLS-1$
}
@Override
public void focusGained(FocusEvent e) {
System.out.println("gained"); //$NON-NLS-1$
}
});