gpt4 book ai didi

java - 将文本粘贴到 JTextComponent 后获取操作 (Java)

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:51 26 4
gpt4 key购买 nike

这确实让我很困惑。

我有一个 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 );

但是,我唯一能掌握的文本是在我剪切/粘贴到组件之前的字符串,而不是之后的字符串。

有什么明显的解决方案吗?

最佳答案

将代码包装在 SwingUtilities.invokeLater(...) 中的 actionPerformed() 方法中,这会将代码添加到 EDT 的末尾,以便它应该在剪切/复制/粘贴命令之后执行。

关于java - 将文本粘贴到 JTextComponent 后获取操作 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com