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

📄 tem.java~2~

📁 JAVA做的计算器 十分和WINDOWS自带的相似
💻 JAVA~2~
字号:
package calc;
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import javax.swing.*;

//剪贴板演示

class Test extends JFrame implements ClipboardOwner{
 Clipboard clipboard;  //剪贴板
 JTextArea jtaCopyTo=new JTextArea(5,10); //用于拷贝的文本框
 JTextArea jtaPaste=new JTextArea(5,10); //用于粘贴的文本框

 public Test(){
  super("使用剪贴板的复制/粘贴程序"); //调用父类构造函数

  clipboard=Toolkit.getDefaultToolkit().getSystemClipboard(); //获得系统剪贴板

  JButton btCopy=new JButton("拷贝"); //拷贝按钮
  JButton btPaste=new JButton("粘贴"); //粘贴按钮
  jtaCopyTo.setLineWrap(true); //设置换行
  jtaPaste.setLineWrap(true);
  jtaCopyTo.setBorder(BorderFactory.createTitledBorder("复制到系统剪切板"));
  //设置边界
  jtaPaste.setBorder(BorderFactory.createTitledBorder("从系统剪切板粘贴"));

  Container container=getContentPane(); //得到容器
  JToolBar toolBar=new JToolBar(); //实例化工具栏
  toolBar.add(btCopy); //增加工具栏按钮
  toolBar.add(btPaste);
  btCopy.addActionListener(new CopyListener()); //按钮事件处理
  btPaste.addActionListener(new PasteListener());
  Box box=new Box(BoxLayout.X_AXIS); //实例化Box
  box.add(jtaCopyTo); //增加文本框到Box上
  box.add(jtaPaste);
  container.add(toolBar,BorderLayout.NORTH); //增加工具栏到容器
  container.add(box,BorderLayout.CENTER); //增加Box到容器

  setSize(320,180); //设置窗口尺寸
  setVisible(true); //设置窗口为可视
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
 }

 class CopyListener implements ActionListener { //拷贝数据处理
  public void actionPerformed(ActionEvent event) {
   StringSelection contents=new StringSelection(jtaCopyTo.getText());
   //用拷贝文本框文本实例化StringSelection对象
   clipboard.setContents(contents, Test.this); //设置系统剪贴板内容
  }
 }

 class PasteListener implements ActionListener { //粘贴数据处理
  public void actionPerformed(ActionEvent event) {
   Transferable contents=clipboard.getContents(this); //得到剪贴板内容
    if(contents!=null && contents.isDataFlavorSupported(DataFlavor.stringFlavor)) {
    //判断内容是否为空,是否为字符串
     try{
      String string= (String) contents.getTransferData(DataFlavor.stringFlavor);
    //转换内容到字符串
      jtaPaste.append(string); //插入字符串到粘贴文本框
     }catch (Exception ex){
      ex.printStackTrace(); //错误处理
     }
   }
  }
 }

 public void lostOwnership(Clipboard clip,Transferable transferable) {
   //实现ClipboardOwner接口中的方法
 }

 public static void main(String[] args){
  new Test();
 }
}

⌨️ 快捷键说明

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