功能是这样的:复制一个文本,按了ctrl+C后在显示框中能够直接显示复制内容。实现动态复制,动态实时显示。不知道怎么实现。
现在我只能实现先复制数据,然后再打开java程序,java程序上能显示复制的内容。
具体代码如下:
TestG.java 实现获取剪贴板内容的函数
package cuttest;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
public class TestG{
public static String getSysClipboardText()
{
String ret = "";
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
// 获取剪切板中的内容
Transferable clipTf = sysClip.getContents(null);
// 检查内容是否是文本类型
try {
ret = (String) clipTf.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e) {
e.printStackTrace();
}
return ret;
}
public static void main(String[] agrs){
try {
System.out.println(new TestG().getSysClipboardText());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
显示复制内容
package cuttest;
import java.awt.*;
import javax.swing.*;
public class window{
public static void main(String[] args){
JFrame frame = new JFrame("window");
JLabel label = new JLabel("号码");
JTextField txt1=new JTextField(new TestG().getSysClipboardText());
JPanel contentPane = new JPanel();
frame.setBounds(200,200,200,200);
contentPane.setLayout(new BorderLayout());
contentPane.add(txt1,BorderLayout.CENTER);
frame.setContentPane(contentPane);
frame.setVisible(true);
}
}
刚学JAVA不久,望大神指导啊~~~
------解决方案--------------------
有这么变态的要求么?
你只能写一个方法去监听,要是剪贴板里面有数据(或是数据变了)就弹出一个提示框
------解决方案--------------------
恩 监听 ctrl+c
------解决方案--------------------
监听CTRL+C
textArea.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
System.out.println("arg0.getModifiers()=" + e.getModifiers());
System.out.println("arg0.getKeyCode()=" + e.getKeyCode());
// CTRL+C按下
if (e.getModifiers() == 2 && e.getKeyCode() == 67) {
System.out.println("CTRL+C......");
}
}
@Override
public void keyPressed(KeyEvent e) {
// TODO Auto-generated method stub
}
});