记事本程序中的复制按钮

Copy button in Notepad program

我想知道如何只复制记事本中突出显示的文本而不是将其全部复制到剪贴板。

这是我编写的代码,它复制了记事本 JTextArea 的全部内容:

private void menu_edit_copyActionPerformed(java.awt.event.ActionEvent evt) {                                               
    StringSelection stringSelection = new StringSelection(TextArea_Main.getText());
    Clipboard clpbrd = Toolkit.getDefaultToolkit ().getSystemClipboard ();
    clpbrd.setContents (stringSelection, null);
}        

使用 getSelectedText 而不是 getText

改用JTextArea#copy

来自 JavaDocs:

Transfers the currently selected range in the associated text model to the system clipboard, leaving the contents in the text model. The current selection remains intact. Does nothing for null selections.

Public 字符串 getSelectedText() 应该替换为

中的 getText()
(TextArea_Main.getText())

这对你有用。