这真的让我很困惑。
我有一个JTextComponent
使用 JPopupMenu 和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 );
但是,我可以保留的唯一文本是在我剪切\粘贴到组件之前而不是之后的字符串。
有什么明显的解决方案吗?