java剪切板

待我称王封你为后i 2022-06-12 04:43 301阅读 0赞
  1. /** * 从剪切板获得文字。 */
  2. public static String getSysClipboardText() {
  3. String ret = "";
  4. Clipboard sysClip = Toolkit.getDefaultToolkit().getSystemClipboard();
  5. // 获取剪切板中的内容
  6. Transferable clipTf = sysClip.getContents(null);
  7. if (clipTf != null) {
  8. // 检查内容是否是文本类型
  9. if (clipTf.isDataFlavorSupported(DataFlavor.stringFlavor)) {
  10. try {
  11. ret = (String) clipTf
  12. .getTransferData(DataFlavor.stringFlavor);
  13. } catch (Exception e) {
  14. e.printStackTrace();
  15. }
  16. }
  17. }
  18. return ret;
  19. }
  20. /** * 将字符串复制到剪切板。 */
  21. public static void setSysClipboardText(String writeMe) {
  22. Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
  23. Transferable tText = new StringSelection(writeMe);
  24. clip.setContents(tText, null);
  25. }
  26. /** * 从剪切板获得图片。 */
  27. public static Image getImageFromClipboard() throws Exception {
  28. Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
  29. Transferable cc = sysc.getContents(null);
  30. if (cc == null)
  31. return null;
  32. else if (cc.isDataFlavorSupported(DataFlavor.imageFlavor))
  33. return (Image) cc.getTransferData(DataFlavor.imageFlavor);
  34. return null;
  35. }
  36. /** * 复制图片到剪切板。 */
  37. public static void setClipboardImage(final Image image) {
  38. Transferable trans = new Transferable() {
  39. public DataFlavor[] getTransferDataFlavors() {
  40. return new DataFlavor[] { DataFlavor.imageFlavor };
  41. }
  42. public boolean isDataFlavorSupported(DataFlavor flavor) {
  43. return DataFlavor.imageFlavor.equals(flavor);
  44. }
  45. public Object getTransferData(DataFlavor flavor)
  46. throws UnsupportedFlavorException, IOException {
  47. if (isDataFlavorSupported(flavor))
  48. return image;
  49. throw new UnsupportedFlavorException(flavor);
  50. }
  51. };
  52. Toolkit.getDefaultToolkit().getSystemClipboard().setContents(trans,
  53. null);
  54. }

发表评论

表情:
评论列表 (有 0 条评论,301人围观)

还没有评论,来说两句吧...

相关阅读

    相关 zeroclipboard剪切

    上一篇我介紹了實現添加到剪切板的功能,主要是由python的第三方包引入,今天我要介紹由node引入的.其實他們的實現原理是一樣的. 在項目裏配置這兩個文件 ZeroCl

    相关 剪切clipboard

    工作中遇到的一个问题,在项目系统中复制一段内容,或点击一个按钮,然后将这段内容添加到使用者当前电脑系统的剪切板中.刚开始的时候觉得很迷惑不知如何实现,后来前端开发人员说,她们可