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();
                }
            }
        });
    }
关键信息:
getSystemClipboard().getContents(null);
Transferable, DataFlavor, DataFlavor.stringFlavor
getTransferData
isDataFlavorSupported
getTransferData