我想获得剪切板中的数据,可这个Clipboard类程序怎么都不识别,我也百度了,说是这个类在Clipboard在java.awt.*这个包里,也进行了导入,可就是不行,Clipboard老是出现红线,不识别。
import java.awt.*;
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipT = clipboard.getContents(null); //获取文本中的Transferable对象
import java.awt.datatransfer.Clipboard;
类名和工具类同名的情况下,用全限定类名。
java.awt.datatransfer.Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipT = clipboard.getContents(null);
应该是还需要其他步骤,或者还需要导入别的类,在eclipse里面复制了一段代码后,执行程序正常显示,修改如下:
参考链接:
Java操作系统剪贴板(Clipboard)实现复制和粘贴-蒲公英云
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipT = clipboard.getContents(null); //获取文本中的Transferable对象
// System.out.println(clipT.toString());
//https://dandelioncloud.cn/article/details/1440559500003717122
if (clipT != null) {
// 判断剪贴板中的内容是否支持文本
if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor)) {
try {
// 获取剪贴板中的文本内容
String text = (String) clipT.getTransferData(DataFlavor.stringFlavor);
System.out.println(text);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
}