`
Danker.Dai
  • 浏览: 67310 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java复制图像到剪贴板的原理

阅读更多
把图片放到容器里,然后装入dataHandler,设置到剪贴板,就可以了

 

copyButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent e) {
              
             Rectangle rect = paintPanel.getBounds();
             BufferedImage bufImage = new BufferedImage(rect.width,
             rect.height,
             BufferedImage.TYPE_INT_RGB);
               Graphics g = bufImage.getGraphics();
             g.translate(-rect.x+TabbedPaneW, -rect.y+ToolBarH);
             paintPanel.paint(g);
             g.dispose(); 


             setClipboardImage(bufImage);
                        
            }
           });

protected 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);
  }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics