Java 突出显示的文本存储在哪里?

Java 突出显示的文本存储在哪里?,java,clipboard,Java,Clipboard,我需要制作一个复制突出显示文本的应用程序 我试过这个程序 String myString = "This text will be copied into clipboard when running this code!"; StringSelection stringSelection = new StringSelection (myString); Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();

我需要制作一个复制突出显示文本的应用程序

我试过这个程序

String myString = "This text will be copied into clipboard when running this code!";
StringSelection stringSelection = new StringSelection (myString);
Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
clpbrd.setContents (stringSelection, null);
但这会复制剪贴板中已经存在的文本 在突出显示文本并点击“复制”选项后,它将从剪贴板打印文本


我想知道,在通过突出显示选择文本后,该文本存储在何处,我如何直接访问该突出显示的文本而不通过操作系统的复制选项进行物理复制

您可以使用。然后,您可以使用

下面是一个带有
TextArea
的简单示例:

final JTextArea textArea=新JTextArea();
textArea.addCaretListener(新的CaretListener(){
@凌驾
公共无效caretUpdate(CaretEvent e){
String selectedText=textArea.getSelectedText();
//用它做点什么。。。
}
});

您可以使用收听选择更改。然后,您可以使用

下面是一个带有
TextArea
的简单示例:

final JTextArea textArea=新JTextArea();
textArea.addCaretListener(新的CaretListener(){
@凌驾
公共无效caretUpdate(CaretEvent e){
String selectedText=textArea.getSelectedText();
//用它做点什么。。。
}
});

我将您的代码按字面意思复制到Eclipse中,运行后,剪贴板包含您的字符串。这不是你想要实现的吗?是的,它应该这样做,但我的问题是,我不想使用复制选项,我想在高亮显示文本后将文本放入剪贴板,所以捕获一个在选中文本时触发的事件。是的,我想知道,这是哪个事件,我试图找到,但无法找到存储选定文本的通用操作系统范围的机制,特别是在Swing应用程序中,它甚至不使用如此高级的本机GUI服务。操作系统将Swing应用程序中选择的文本视为一些像素。我将您的代码逐字复制到Eclipse中,运行后,剪贴板包含您的字符串。这不是你想要实现的吗?是的,它应该这样做,但我的问题是,我不想使用复制选项,我想在高亮显示文本后将文本放入剪贴板,所以捕获一个在选中文本时触发的事件。是的,我想知道,这是哪个事件,我试图找到,但无法找到存储选定文本的通用操作系统范围的机制,特别是在Swing应用程序中,它甚至不使用如此高级的本机GUI服务。OS将Swing应用程序中选择的文本视为一些像素。OP希望无论何时何地选择文本都能得到全局通知。OP希望无论何时何地选择文本都能得到全局通知。