如何让用户复制,剪切和放大粘贴JTextArea中的选定单词?

时间:2012-09-09 10:10:03

标签: java swing user-interface copy-paste jtextarea

假设我已经创建了一个GUI,其主pannel是一个JTextArea和一个上面的菜单栏(包含复制和粘贴按钮,快捷键为ctrl + c和ctrl + v)。

在一些工作之后,程序会将一堆数据吐出到JTextArea上,然后我想让用户将选定的(突出显示的)单词从JTextArea复制,剪切或粘贴到其他地方,如记事本等。 。

那么我应该使用什么样的听众来感知选择,获取所选择的单词并将它们放到OS存储复制内容的地方? Plz具体,非常感谢任何帮助! :)

2 个答案:

答案 0 :(得分:8)

默认情况下,剪切,复制和粘贴的操作系统快捷方式工作在JTextArea

但是,JTextArea extends JTextComponent具有cut()copy()paste()方法,您可以在需要添加自定义操作时调用这些方法(行上下文菜单或顶级菜单)这些操作的项目或工具栏按钮。

答案 1 :(得分:6)

要添加到Dan的回复中,JTextArea确实提供了cut()copy()paste()方法,这些方法将为您处理实际的操作系统特定操作。

roseindia.net has some code for reference

还有其他方法可以复制,这些方法在类似的堆栈溢出线程中进行了分类,例如this one:)