📄 clipboarddemo3.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 + -