java.awt.Toolkit类中有个getSystemClipboard()方法来返回一个Clipboard实例的
Toolkit还有个静态方法getDefaultToolkit()返回Toolkit实例
如:
Clipboard cbTmp=Toolkit.getDefaultToolkit().getSystemClipboard();
Clipboard类提供了getContents()和setConntents()方法可以set和取数据

解决方案 »

  1.   

    给个例子import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.datatransfer.*;public class MainFrame extends JFrame {
      private JPanel contentPane;
      private BorderLayout borderLayout1 = new BorderLayout();
      private JTextArea jTextArea1 = new JTextArea();
      private JPanel jPanel1 = new JPanel();
      private JButton jButton1 = new JButton();
      private JButton jButton2 = new JButton();  Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();  //Construct the frame
      public MainFrame() {
        enableEvents(AWTEvent.WINDOW_EVENT_MASK);
        try {
          jbInit();
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      //Component initialization
      private void jbInit() throws Exception  {
        //setIconImage(Toolkit.getDefaultToolkit().createImage(MainFrame.class.getResource("[Your Icon]")));
        contentPane = (JPanel) this.getContentPane();
        contentPane.setLayout(borderLayout1);
        this.setSize(new Dimension(396, 203));
        this.setTitle("JClipboardDemo");
        jButton1.setFont(new java.awt.Font("Dialog", 0, 14));
        jButton1.setText("Copy");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jButton1_actionPerformed(e);
          }
        });
        jButton2.setFont(new java.awt.Font("Dialog", 0, 14));
        jButton2.setText("Paste");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
          public void actionPerformed(ActionEvent e) {
            jButton2_actionPerformed(e);
          }
        });
        contentPane.add(jTextArea1, BorderLayout.CENTER);
        contentPane.add(jPanel1, BorderLayout.SOUTH);
        jPanel1.add(jButton1, null);
        jPanel1.add(jButton2, 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) {    StringSelection ss = new StringSelection(this.jTextArea1.getText());
        cb.setContents(ss,ss);
      }  void jButton2_actionPerformed(ActionEvent e) {
       try{
        Transferable tr = cb.getContents(this);    if (tr != null){
          String s = (String) tr.getTransferData(DataFlavor.stringFlavor);
          if (s!=null)
          this.jTextArea1.insert(s,this.jTextArea1.getCaretPosition());
        }
       }catch(Exception err){
         err.printStackTrace();
       }  }
    }
      

  2.   


    import javax.swing.UIManager;
    import java.awt.*;public class JClipboardDemo {
      private boolean packFrame = false;  //Construct the application
      public JClipboardDemo() {
        MainFrame frame = new MainFrame();
        //Validate frames that have preset sizes
        //Pack frames that have useful preferred size info, e.g. from their layout
        if (packFrame) {
          frame.pack();
        }
        else {
          frame.validate();
        }
        //Center the window
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize = frame.getSize();
        if (frameSize.height > screenSize.height) {
          frameSize.height = screenSize.height;
        }
        if (frameSize.width > screenSize.width) {
          frameSize.width = screenSize.width;
        }
        frame.setLocation((screenSize.width - frameSize.width) / 2, (screenSize.height - frameSize.height) / 2);
        frame.setVisible(true);
      }
      //Main method
      public static void main(String[] args) {
        try {
          UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }
        catch(Exception e) {
          e.printStackTrace();
        }
        new JClipboardDemo();
      }
    }