📄 clipboardframe.java
字号:
package clipboard;import java.awt.*;import java.awt.event.*;import javax.swing.*;//声明使用剪贴板工具import java.awt.datatransfer.*;/** * <p>Title: ClipBoard Demo</p> * <p>Description: This is a ClipBoard demo</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: d6-125</p> * @author Liujun * @version 1.0 */public class ClipBoardFrame extends JFrame { JPanel contentPane; BorderLayout borderLayout1 = new BorderLayout(); JPanel jPanel1 = new JPanel(); JButton jButton1 = new JButton(); JButton jButton2 = new JButton(); JButton jButton3 = new JButton(); JScrollPane jScrollPane1 = new JScrollPane(); JTextArea jTextArea1 = new JTextArea(); //声明剪贴板变量clipboard,并初始化 Clipboard clipboard = getToolkit().getSystemClipboard(); //Construct the frame public ClipBoardFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(ClipBoardFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); contentPane.setLayout(borderLayout1); this.setSize(new Dimension(400, 300)); this.setTitle("ClipBoard Frame Demo"); jButton1.setText("剪切"); jButton1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton1_actionPerformed(e); } }); jButton2.setText("复制"); jButton2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton2_actionPerformed(e); } }); jButton3.setText("粘贴"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { jButton3_actionPerformed(e); } }); contentPane.add(jPanel1, BorderLayout.NORTH); jPanel1.add(jButton1, null); jPanel1.add(jButton2, null); jPanel1.add(jButton3, null); contentPane.add(jScrollPane1, BorderLayout.CENTER); jScrollPane1.getViewport().add(jTextArea1, null); } //Overridden so we can exit when window is closed protected void processWindowEvent(WindowEvent e) { super.processWindowEvent(e); if (e.getID() == WindowEvent.WINDOW_CLOSING) { System.exit(0); } } void jButton1_actionPerformed(ActionEvent e) { //剪切选中的文本 String srcData = jTextArea1.getSelectedText();//得到选中的文本 jTextArea1.cut();//剪切文本 if (srcData != null) { StringSelection contents = new StringSelection(srcData); clipboard.setContents(contents, null);//将得到的文本送入剪贴板 } } void jButton2_actionPerformed(ActionEvent e) { //复制选中的文本 String srcData = jTextArea1.getSelectedText();//得到选中的文本 if (srcData != null) { StringSelection contents = new StringSelection(srcData); clipboard.setContents(contents,null);//将得到的文本送入剪贴板 } } void jButton3_actionPerformed(ActionEvent e) { Transferable content = clipboard.getContents(jTextArea1);//从剪贴板中取数据 int insertPos = jTextArea1.getCaretPosition();// 得到文本框的当前位置 if (content != null) { try { String dstData = (String)content.getTransferData(DataFlavor.stringFlavor);//转换数据为文本 jTextArea1.insert(dstData,insertPos);//插入文本到当前位置 } catch (Exception ei) { System.out.println("Couldn't get contents in format: "+ DataFlavor.stringFlavor.getHumanPresentableName());//若剪贴板中不是文本则打印出错 } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -