/*
* GeoClipboard.java
*
* Created on March 20, 2007, 10:40 AM
*
*/
package ika.geo.clipboard;
import ika.geo.GeoSet;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
/**
*
* @author Bernhard Jenny, Institute of Cartography, ETH Zurich
*/
public class GeoClipboard {
/** Creates a new instance of GeoClipboard */
public GeoClipboard() {
}
public static void setClipboard(GeoSet geoSet) {
GeoTransferable geoSelection = new GeoTransferable(geoSet);
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(geoSelection, null);
}
public static void printClipboardFlavors() {
// get the system clipboard
Clipboard systemClipboard =
Toolkit
.getDefaultToolkit()
.getSystemClipboard();
// get the contents on the clipboard in a
// transferable object
Transferable clipboardContents =
systemClipboard
.getContents(
null);
// check if clipboard is empty
if (clipboardContents == null) {
System.out.println("Clipboard is empty!!!");
} else {
DataFlavor[] flavors = clipboardContents.getTransferDataFlavors();
for(int i = 0; i < flavors.length; i++) {
System.out.println(flavors[i].toString());
}
/*
try {
// see if DataFlavor of
// DataFlavor.stringFlavor is supported
DataFlavor df = new DataFlavor(String.class, null);
if (clipboardContents.isDataFlavorSupported(df)) {
// return text content
String returnText = (String) clipboardContents.getTransferData(df);
System.out.print(returnText);
}
} catch (java.awt.datatransfer.UnsupportedFlavorException ufe) {
ufe.printStackTrace();
} catch (java.io.IOException ioe) {
ioe.printStackTrace();
}
*/
// FlavorMap flavorMap = FlavorMap.getDefaultFlavorMap();
// flavorMap.getNativesForFlavors(flavors);
}
}
public static void main(String[] args) {
GeoSet geoSet = new GeoSet();
ika.geo.GeoPath geoPath = new ika.geo.GeoPath();
geoPath.moveTo(0, 0);
geoPath.lineTo(100, 60);
geoSet.add(geoPath);
setClipboard(geoSet);
printClipboardFlavors();
}
}