JTextPane剪贴板的操作

选中所有文本:

//先获取焦点,否则选择的文本不会设为选中状态
msgShowTxtPane.requestFocus();
//选择全部内容
msgShowTxtPane.select(0, msgShowTxtPane.getDocument().getLength());

复制文本到剪贴板:

String selectedTxt = msgShowTxtPane.getSelectedText();
//将选择的内容写入剪切板
StringSelection ss = new StringSelection(selectedTxt);   
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);

剪切文本到剪贴板:

// 获取需要剪切的文本
String temp = msgInputTxtPane.getSelectedText();
StringSelection text = new StringSelection(temp);
//放入剪贴板
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(text, null);
//替换选择的文本
msgInputTxtPane.replaceSelection("");

  

获取剪贴板的文本:

//获取剪切板内容,如果没有则返回null
Transferable t = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);   
if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {   
    String text = "";
	try {
		text = (String)t.getTransferData(DataFlavor.stringFlavor);
	} catch (Exception e1) {
		e1.printStackTrace();
	}   
	StyledDocument doc = msgInputTxtPane.getStyledDocument();
	SimpleAttributeSet arrSet = new SimpleAttributeSet();
	try {
		doc.insertString(doc.getLength(), text, arrSet);
	} catch (BadLocationException e1) {
		e1.printStackTrace();
	}
}

 

你可能感兴趣的:(text)