package org.rr.jeborker.gui.action; import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.ClipboardOwner; import java.awt.datatransfer.Transferable; import java.awt.event.ActionEvent; import java.awt.image.BufferedImage; import javax.swing.AbstractAction; import javax.swing.Action; import org.rr.commons.swing.SwingUtils; import org.rr.commons.swing.dnd.ImageTransferable; import org.rr.jeborker.gui.MainController; import org.rr.jeborker.gui.resources.ImageResourceBundle; public class SaveCoverToClipboardAction extends AbstractAction implements ClipboardOwner { SaveCoverToClipboardAction(String text) { String name = Bundle.getString("SaveCoverToClipboardAction.name"); putValue(Action.NAME, SwingUtils.removeMnemonicMarker(name)); putValue(Action.SMALL_ICON, ImageResourceBundle.getResourceAsImageIcon("copy_16.png")); putValue(Action.LARGE_ICON_KEY, ImageResourceBundle.getResourceAsImageIcon("copy_22.png")); putValue(MNEMONIC_KEY, SwingUtils.getMnemonicKeyCode(name)); } @Override public void actionPerformed(ActionEvent e) { final MainController controller = MainController.getController(); final BufferedImage imageViewerResource = controller.getImageViewerImage(); ImageTransferable trans = new ImageTransferable(imageViewerResource); Clipboard c = Toolkit.getDefaultToolkit().getSystemClipboard(); c.setContents( trans, this ); } @Override public void lostOwnership(Clipboard clipboard, Transferable contents) { } }