これは本当に私を困惑させます。
JPopupMenuJTextComponent
とを使用して右クリックのカット\コピー\貼り付けメニューを追加したものがありDefaultEditorKit.Cut\Copy\PasteAction()
ます。
JMenuItem cutItem = new JMenuItem(new DefaultEditorKit.CutAction());
JMenuItem copyItem = new JMenuItem(new DefaultEditorKit.CopyAction());
JMenuItem pasteItem = new JMenuItem(new DefaultEditorKit.PasteAction());
アクションごとに、関数で使用するJTextComponentのテキストを取得するアクションリスナーを追加しました。
final ActionListener textFieldListener = new ActionListener() {
@Override public void actionPerformed(ActionEvent e){someGlobalFunction(textComponent.getText());
}
};
..。
cutItem.addActionListener(textFieldListener );
copyItem.addActionListener(textFieldListener );
pasteItem.addActionListener(textFieldListener );
ただし、保持できるテキストは、コンポーネントにカットアンドペーストする前の文字列であり、後ではありません。
これに対する明白な解決策はありますか?