<分区>
我想制作一个可以访问剪贴板以执行剪切、复制和粘贴等功能的 java 程序。如果有人愿意帮助我提供示例代码,那将非常有帮助...... 谢谢!
<分区>
我想制作一个可以访问剪贴板以执行剪切、复制和粘贴等功能的 java 程序。如果有人愿意帮助我提供示例代码,那将非常有帮助...... 谢谢!
最佳答案
/**
* get string from Clipboard
*/
public static String getSysClipboardText() {
String ret = "";
Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable clipTf = sysClip.getContents(null);
if (clipTf != null) {
if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {
try {
ret = (String) clipTf
.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e) {
e.printStackTrace();
}
}
}
return ret;
}
/**
* put string into Clipboard
*/
public static void setSysClipboardText(String writeMe) {
Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable tText = new StringSelection(writeMe);
clip.setContents(tText, null);
}
/**
* get image from Clipboard
*/
public static Image getImageFromClipboard() throws Exception {
Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable cc = sysc.getContents(null);
if (cc == null)
return null;
else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
return (Image) cc.getTransferData(DataFlavor.imageFlavor);
return null;
}
/**
* put iamge into Clipboard
*/
public static void setClipboardImage(final Image image) {
Transferable trans = new Transferable() {
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}
public boolean isDataFlavorSupported(DataFlavor flavor) {
return DataFlavor.imageFlavor.equals(flavor);
}
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException {
if (isDataFlavorSupported(flavor))
return image;
throw new UnsupportedFlavorException(flavor);
}
};
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,
null);
}
如果您想处理文件或文件夹,您可以尝试
copyFile(srcPath, destDir, true/**overwriteExistFile*/);
copyDirectory(srcPath, destDir, true/**overwriteExistDir*/);
关于java - 如何在 Java 中进行剪切复制粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20174462/
相关文章:
java - Project Euler 12,Java解决方案尝试,递归错误?
java - 无法在类 org.apache.logging.log4j.core.layout.JsonLayout 中为元素 JsonLayout 调用工厂方法
java - 将 itextpdf 库添加到 Eclipse
java - 图像不会保留在 Java 的 JTextPane 中
linux - 回声 "string"| xclip -selection clipboard ,复制 'string' 但也添加了一个新行。如何解决这个问题?
c++ - 将 ListBox 复制到剪贴板,返回不保存的载体
java - instanceof 和 Class.isAssignableFrom(...) 有什么区别?