diff --git a/core-java-modules/core-java-swing/pom.xml b/core-java-modules/core-java-swing/pom.xml index 462e31e439f5..d7e481b0fc0e 100644 --- a/core-java-modules/core-java-swing/pom.xml +++ b/core-java-modules/core-java-swing/pom.xml @@ -1,7 +1,7 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 core-java-swing jar @@ -19,4 +19,8 @@ UTF-8 + + src/main/java + + \ No newline at end of file diff --git a/core-java-modules/core-java-swing/src/main/java/com/baeldung/clipboard/AwtClipboard.java b/core-java-modules/core-java-swing/src/main/java/com/baeldung/clipboard/AwtClipboard.java new file mode 100644 index 000000000000..3d3959fa80e2 --- /dev/null +++ b/core-java-modules/core-java-swing/src/main/java/com/baeldung/clipboard/AwtClipboard.java @@ -0,0 +1,39 @@ +package com.baeldung.clipboard; + +import java.awt.Toolkit; +import java.awt.datatransfer.Clipboard; +import java.awt.datatransfer.StringSelection; +import java.awt.datatransfer.Transferable; +import java.awt.datatransfer.UnsupportedFlavorException; +import java.io.IOException; +import java.awt.datatransfer.DataFlavor; + +public class AwtClipboard { + + public static void main(String[] args) throws IOException, UnsupportedFlavorException { + String textToCopy = "Baeldung helps developers explore the Java ecosystem and simply be better engineers."; + copyToClipboard(textToCopy); + + String textCopied = copyFromClipboard(); + if (textCopied != null) { + System.out.println(textCopied); + } + } + + public static void copyToClipboard(String text) { + Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); + StringSelection data = new StringSelection(text); + cb.setContents(data, null); + } + + public static String copyFromClipboard() throws UnsupportedFlavorException, IOException { + Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); + Transferable transferable = cb.getContents(null); + if (transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) { + String data = (String) transferable.getTransferData(DataFlavor.stringFlavor); + return data; + } + System.out.println("Couldn't get data from the clipboard"); + return null; + } +} \ No newline at end of file