public Test() { button = new JButton("Past"); button.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); this.add(button); button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { // 取得系统剪贴板里可传输的数据构造的Java对象 Transferable t = Toolkit.getDefaultToolkit() .getSystemClipboard().getContents(null); try { if (t != null && t.isDataFlavorSupported(DataFlavor.stringFlavor)) { // 因为原系的剪贴板里有多种信息, 如文字, 图片, 文件等 // 先判断开始取得的可传输的数据是不是文字, 如果是, 取得这些文字 String s = (String) t .getTransferData(DataFlavor.stringFlavor); // 同样, 因为Transferable中的DataFlavor是多种类型的, // 所以传入DataFlavor这个参数, 指定要取得哪种类型的Data. System.out.println(s); } } catch (UnsupportedFlavorException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } }); }