Add Utility class
parent
2cb1997d95
commit
bd57e1354a
@ -0,0 +1,44 @@
|
|||||||
|
package me.goudham.util;
|
||||||
|
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Graphics2D;
|
||||||
|
import java.awt.Image;
|
||||||
|
import java.awt.datatransfer.Clipboard;
|
||||||
|
import java.awt.datatransfer.Transferable;
|
||||||
|
import java.awt.datatransfer.UnsupportedFlavorException;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.IOException;
|
||||||
|
import me.goudham.model.MyClipboardContent;
|
||||||
|
|
||||||
|
import static me.goudham.util.Contents.IMAGE;
|
||||||
|
import static me.goudham.util.Contents.STRING;
|
||||||
|
|
||||||
|
public class ClipboardUtils {
|
||||||
|
|
||||||
|
public static MyClipboardContent<?> getClipboardContents(Transferable contents, Clipboard clipboard) {
|
||||||
|
MyClipboardContent<?> myClipboardContent = new MyClipboardContent<>("");
|
||||||
|
|
||||||
|
try {
|
||||||
|
if (STRING.isAvailable(clipboard)) {
|
||||||
|
myClipboardContent.setContent(contents.getTransferData(STRING.getDataFlavor()));
|
||||||
|
} else if (IMAGE.isAvailable(clipboard)) {
|
||||||
|
BufferedImage bufferedImage = convertToBufferedImage((Image) contents.getTransferData(IMAGE.getDataFlavor()));
|
||||||
|
myClipboardContent.setContent(new Dimension(bufferedImage.getWidth(), bufferedImage.getHeight()));
|
||||||
|
}
|
||||||
|
} catch (UnsupportedFlavorException | IOException exp) {
|
||||||
|
exp.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return myClipboardContent;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static BufferedImage convertToBufferedImage(Image image) {
|
||||||
|
BufferedImage newImage = new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB);
|
||||||
|
|
||||||
|
Graphics2D graphics = newImage.createGraphics();
|
||||||
|
graphics.drawImage(image, 0, 0, null);
|
||||||
|
graphics.dispose();
|
||||||
|
|
||||||
|
return newImage;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue