Java源码-简单的剪切板程序
2016-07-24 22:31
435 查看
看到有点实用性的代码,忍不住就想分享出来,因为在学习的过程中,我也是复用了大量的别人的代码一步一步往前走的。
同时,我也发现,一些像五子棋游戏等成套解决方案(project),很难找到免费的代码分享,毕竟,程序员也是要吃饭的,可以理解。
有一天,当你发现我的代码不再免费发布的时候,或许就是我在编程道路上小有所成的时候,呵呵。
代码如下:(基于《疯狂Java讲义》第11章稍有修改)
运行结果:
同时,我也发现,一些像五子棋游戏等成套解决方案(project),很难找到免费的代码分享,毕竟,程序员也是要吃饭的,可以理解。
有一天,当你发现我的代码不再免费发布的时候,或许就是我在编程道路上小有所成的时候,呵呵。
代码如下:(基于《疯狂Java讲义》第11章稍有修改)
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.datatransfer.*; public class SimpleClipBoard { private Frame f = new Frame("简单的剪贴板程序"); // 获取系统剪贴板 private Clipboard clipboard = Toolkit .getDefaultToolkit().getSystemClipboard(); // 下面是创建本地剪贴板的代码 //Clipbaord clipboard = new Clipboard("cb"); //暂不清楚是何用途 // 用于复制文本的文本框 private TextArea jtaCopyTo = new TextArea(5,20); // 用于粘贴文本的文本框 private TextArea jtaPaste = new TextArea(5,20); private Button btCopy = new Button("Copy"); // 复制按钮 private Button btPaste = new Button("Paste"); // 粘贴按钮 public void init() { Panel p = new Panel(); p.add(btCopy); p.add(btPaste); btCopy.addActionListener(event -> { // 将一个多行文本域里的字符串封装成StringSelection对象 StringSelection contents = new StringSelection(jtaCopyTo.getText()); // 将StringSelection对象放入剪贴板 clipboard.setContents(contents, null); }); btPaste.addActionListener(event -> { // 如果剪贴板中包含stringFlavor内容 if (clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor)) { try { // 取出剪贴板中stringFlavor内容 String content = (String)clipboard .getData(DataFlavor.stringFlavor); jtaPaste.append(content); } catch (Exception e) { e.printStackTrace(); } } }); // 创建一个水平排列的Box容器 Box box = new Box(BoxLayout.X_AXIS); // 将两个多行文本域放在Box容器中 box.add(jtaCopyTo); box.add(jtaPaste); // 将按钮所在Panel、Box容器添加到Frame窗口中 f.add(p,BorderLayout.SOUTH); f.add(box,BorderLayout.CENTER); f.pack(); f.setVisible(true); // 以匿名内部类的形式来创建事件监听器对象,用于关闭窗口 f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); } public static void main(String[] args) { new SimpleClipBoard().init(); } }
运行结果:
相关文章推荐
- Java for XML: JAXP、JAXB、JAXM、JAX-RPC、JAX-WS
- java 正则表达式获取值
- 简述Java动态代理
- spring mvc 中web.xml配置信息解释
- java克隆容器后,容器内的对象相同
- Spring MVC框架简单使用
- elasticsearch client java 简单code 应用
- java.util.concurrent JAVA并发指南
- Java注解初步了解
- Java 使用对话框选择文件并输出到控制台
- 深入解析Java编程中方法的参数传递
- 错题724-java
- Java开发环境搭建
- 面向对象的三个基本特征
- 深入理解Spring4框架(五)——作用域
- Java和mysql的数据类型对应
- Java学习笔记(22)Developing Efficient Algorithms
- javaweb学习总结二(静态导入、自动拆装箱、增强for与可变参数)
- java初始化顺序,多态以及绑定
- ubuntu搭建scikit-learn环境及pydev+eclipse