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

📄 texttransfertest.java

📁 《Core Java2 Volume II-5e》源码
💻 JAVA
字号:
/**
 * @version 1.10 1999-09-16
 * @author Cay Horstmann
 */

import java.io.*;
import java.awt.*;
import java.awt.datatransfer.*;
import java.awt.event.*;
import javax.swing.*;

public class TextTransferTest
{  public static void main(String[] args)
   {  JFrame frame = new TextTransferFrame();
      frame.show();
   }
}

class TextTransferFrame extends JFrame
   implements ActionListener
{  public TextTransferFrame()
   {  setTitle("TextTransferTest");
      setSize(300, 300);
      addWindowListener(new WindowAdapter()
         {  public void windowClosing(WindowEvent e)
            {  System.exit(0);
            }
         } );

      Container contentPane = getContentPane();

      textArea = new JTextArea();
      contentPane.add(new JScrollPane(textArea), "Center");
      JPanel panel = new JPanel();
      copyButton = new JButton("Copy");
      panel.add(copyButton);
      copyButton.addActionListener(this);
      pasteButton = new JButton("Paste");
      panel.add(pasteButton);
      pasteButton.addActionListener(this);
      contentPane.add(panel, "South");
      sysClipboard
         = Toolkit.getDefaultToolkit().getSystemClipboard();
   }

   public void actionPerformed(ActionEvent event)
   {  Object source = event.getSource();
      if (source == copyButton) copy();
      else if (source == pasteButton) paste();
   }

   private void copy()
   {  String text = textArea.getSelectedText();
      if (text.equals("")) text = textArea.getText();
      StringSelection selection = new StringSelection(text);
      sysClipboard.setContents(selection, null);
   }

   private void paste()
   {  String text;
      Transferable contents = sysClipboard.getContents(this);
      if (contents == null) return;
      try
      {  text = (String)(contents.getTransferData
            (DataFlavor.stringFlavor));
         textArea.replaceSelection(text);
      }
      catch(Exception e)
      {  textArea.append("Error: " + e);
      }
   }

   private JTextArea textArea;
   private JButton copyButton;
   private JButton pasteButton;
   private Clipboard sysClipboard;
}

⌨️ 快捷键说明

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