⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clipboarddemo3.java

📁 java 完全探索的随书源码
💻 JAVA
字号:
// ClipboardDemo3.java

import javax.swing.*;

import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;

import java.io.*;

class ClipboardDemo3 extends JFrame implements ActionListener
{
   JTextArea ta;
   JTextField tf;
   JRadioButton rbSystem, rbPrivate;

   boolean useSystem = true;

   Clipboard pc = new Clipboard ("Personal");
   Clipboard sc = Toolkit.getDefaultToolkit ().getSystemClipboard ();

   ClipboardDemo3 (String title)
   {
      super (title);

      addWindowListener (new WindowAdapter ()
                         {
                             public void windowClosing (WindowEvent e)
                             {
                                System.exit (0);
                             }
                         });

      JMenuBar mb = new JMenuBar ();

      JMenu file = new JMenu ("File");
      JMenuItem fileItem = new JMenuItem ("Exit");
      fileItem.addActionListener (this);
      file.add (fileItem);

      mb.add (file);

      JMenu edit = new JMenu ("Edit");
      JMenuItem editItem = new JMenuItem ("Copy");
      editItem.addActionListener (this);
      edit.add (editItem);
      editItem = new JMenuItem ("Paste");
      editItem.addActionListener (this);
      edit.add (editItem);

      mb.add (edit);

      setJMenuBar (mb);

      JPanel p = new JPanel ();
      rbSystem = new JRadioButton ("System", true);
      rbSystem.addActionListener (this);
      p.add (rbSystem);
      rbPrivate = new JRadioButton ("Private", false);
      rbPrivate.addActionListener (this);
      p.add (rbPrivate);

      ButtonGroup bg = new ButtonGroup ();
      bg.add (rbSystem);
      bg.add (rbPrivate);

      getContentPane ().add (p, BorderLayout.SOUTH);

      p = new JPanel ();
      tf = new JTextField (40);
      p.add (tf);

      getContentPane ().add (p, BorderLayout.CENTER);

      p = new JPanel ();
      ta = new JTextArea (10, 40);
      ta.setEditable (false);
      p.add (ta);

      getContentPane ().add (p, BorderLayout.NORTH);

      pack ();

      setVisible (true);
   }

   public void actionPerformed (ActionEvent e)
   {
      ta.setText ("");

      if (e.getSource () == rbSystem)
      {
          useSystem = true;
          return;
      }

      if (e.getSource () == rbPrivate)
      {
          useSystem = false;
          return;
      }

      if (e.getActionCommand ().equals ("Exit"))
          System.exit (0);

      Clipboard c = (useSystem) ? sc : pc;

      if (e.getActionCommand ().equals ("Copy"))
      {
          StringSelection ss = new StringSelection (tf.getText ());
          c.setContents (ss, ss);
          return;
      }

      // Paste is the default.

      try
      {
         Transferable t = c.getContents (this);
         if (t != null)
         {
             String s;
             s = (String) t.getTransferData (DataFlavor.stringFlavor);
             ta.setText (s);
         }
      }
      catch (IOException e2) {}
      catch (UnsupportedFlavorException e2) {}

      return;
   }

   public static void main (String [] args)
   {
      new ClipboardDemo3 ("Clipboard Demo3");
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -