Bitte lesen Sie meinen Beispielcode.Hinzufügen von Key Listener zu JPopupMenu von einem JTextPane funktioniert, aber nicht von JTextArea
JPopupMenu popUp = new JPopupMenu();
popUp.add(new JMenuItem("sample1"));
popUp.add(new JMenuItem("sample2"));
popUp.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
System.out.println("yy");
}
@Override
public void keyPressed(KeyEvent e) {
System.out.println("yy");
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("yy");
}
});
popUp.setVisible(true);
popUp.show(textPane, 0, 0);
popUp.requestFocus();
Der gleiche Code funktioniert nicht, wenn eine JTextArea
als übergeordnete Komponente für das Pop-up verwenden. Meine Logik besteht darin, den Fokus auf das Popup-Fenster zu legen und dann die Taste zu drücken, um das Pop-up erneut zu füllen.