å¨Javaåºç¨ç¨åºä¸å®ç°copyå¾ååè½ï¼
ç¨Javaå¼åå¾å½¢åºç¨ç¨åºçæåä¸å®éå°è¿å¦ä½å¨ç¨åºä¸å®ç°å¤å¶å¾åçåè½ãå¨jdk1.4以åï¼javaæ¬èº«å°±æ¯æå°ç¨åºä¸æå串å¤å¶ç»å
¶å®çéjavaåºç¨ç¨åºä½¿ç¨ï¼èå°ç¨åºä¸çå¾åå¤å¶å°éjavaåºç¨ç¨åºç®ç´é¾ä¸å é¾ãåªå°jdk1.4åºæ¥ï¼è¿ä¸ªé®é¢æå¾ä»¥è§£å³ãè¦åå¤å¶åè½ï¼ä¸è¬æ¯ç»§æ¿TransferHandlerç±»ï¼å®ç°Transferableæ¥å£ï¼ è¿æ ·ä½ çå¤å¶å
容æè½ä¼ å°ç³»ç»clipboard,为æ¤æ们æ¥åä¸ä¸ªImageSelectionç±»: /** * Copyright: Copyright (c) 2002 * @author Turbo Chen * @version 1.00 */ import java.awt.*; import java.awt.image.*; import java.awt.datatransfer.*; import javax.swing.*; public class ImageSelection extends TransferHandler implements Transferable { private static final DataFlavor flavors[] = {DataFlavor.imageFlavor}; private Image image; public int getSourceActions(JComponent c) { return TransferHandler.COPY; } public boolean canImport(JComponent comp, DataFlavor flavor[]) { for (int i=0, n=flavor.length; i if (flavor[i].equals(flavors[0])) { return true; } } return false; } //å°å¾åå¤å¶å°Image对象. public Transferable createTransferable(JComponent comp) { // Clear clip image = null; Icon icon = null; Rectangle rect = comp.getBounds(); BufferedImage bufImage = new BufferedImage(rect.width, rect.height, BufferedImage.TYPE_INT_RGB); Graphics g = bufImage.getGraphics(); comp.paint(g); if (bufImage != null ) { image = bufImage; return this; } return null; } // Transferable public Object getTransferData(DataFlavor flavor) { if (isDataFlavorSupported(flavor)) { return image; } return null; } public DataFlavor[] getTransferDataFlavors() { return flavors; } public boolean isDataFlavorSupported(DataFlavor flavor) { return flavor.equals(flavors[0]); } } å©ç¨è¿ä¸ªç±»ï¼å°±å¯ä»¥è½»æ¾çå°JComponentå¾åå¤å¶å°ç³»ç»clipboardäº.æä¹ä½¿ç¨å¢,åæ¥ççä¸é¢ç代ç ï¼ final Clipboard clipboard = kit.getSystemClipboard(); Icon icon = new ImageIcon("myphoto.jpg"); final JLabel label = new JLabel(icon); label.setTransferHandler(new ImageSelection()); JButton copy = new JButton("Label Copy"); copy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { TransferHandler handler = label.getTransferHandler(); handler.exportToClipboard(label, clipboard, TransferHandler.COPY); } }); å¨ä½ çç¨åºä¸ï¼è¦æä¸ä¸ªJFrame, å ä¸ä¸ä¸ªJLabel,ä¸ä¸ªJButton,å°ä¸é¢ç代ç å è¿å
¥ï¼ä½ å°±å¯ä»¥å¨ä½ çç¨åºä¸çå°å¾åå¦ä½å¤å¶å°ç³»ç»clipboardäº.
温馨提示:内容为网友见解,仅供参考