假设我创建了一个GUI,其主面板是一个JTextArea,上面有一个菜单栏(包含复制和粘贴按钮,通过ctrl+c和ctrl+v快捷键操作)。
在程序工作一段时间后,它将在JTextArea中输出一堆数据,然后我想允许用户从JTextArea中选择(高亮显示)单词,并将它们复制,剪切或粘贴到其他地方,如记事本等。
那么,我应该使用什么类型的监听器来检测选择,获取所选单词并将它们放入操作系统存储的复制内容的位置?请具体说明,非常感谢任何帮助! :)
假设我创建了一个GUI,其主面板是一个JTextArea,上面有一个菜单栏(包含复制和粘贴按钮,通过ctrl+c和ctrl+v快捷键操作)。
在程序工作一段时间后,它将在JTextArea中输出一堆数据,然后我想允许用户从JTextArea中选择(高亮显示)单词,并将它们复制,剪切或粘贴到其他地方,如记事本等。
那么,我应该使用什么类型的监听器来检测选择,获取所选单词并将它们放入操作系统存储的复制内容的位置?请具体说明,非常感谢任何帮助! :)
操作系统中的剪切、复制和粘贴快捷键在 JTextArea
中默认可用。
然而,JTextArea
扩展自 JTextComponent
,后者具有 cut()
、copy()
和 paste()
方法,如果您想添加自定义操作(如行上下文菜单、顶部菜单项或工具栏按钮),则可以调用这些方法。
JTextArea
确实提供了cut()
、copy()
和paste()
方法,可以处理实际的操作系统特定的操作。
roseindia.net上有一些参考代码。
还有其他一些复制的方式,这些方式在类似的stackoverflow主题中进行了记录,比如这个:)
setSize()
之外,那个链接可能是我在该网站上看到的“最不糟糕”的链接。 - Andrew Thompson