import java.awt.datatransfer.DataFlavor;\r
import java.awt.datatransfer.Transferable;\r
import java.awt.datatransfer.UnsupportedFlavorException;\r
+import java.io.ByteArrayInputStream;\r
import java.io.IOException;\r
\r
public class PlaintextTransfer implements Transferable {\r
\r
final String content;\r
\r
+ final DataFlavor flavor = DataFlavor.getTextPlainUnicodeFlavor();\r
+ final DataFlavor[] flavors = new DataFlavor[] { flavor };\r
+ final String flavorCharset = flavor.getParameter("charset");\r
+ \r
public PlaintextTransfer(String content) {\r
this.content = content;\r
}\r
\r
@Override\r
public Object getTransferData(DataFlavor arg0) throws UnsupportedFlavorException, IOException {\r
- if(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0)) {\r
- return content;\r
+ if(flavor.equals(arg0)) {\r
+ byte[] bytes = content.getBytes(flavorCharset);\r
+ return new ByteArrayInputStream(bytes);\r
}\r
return null;\r
}\r
\r
@Override\r
public DataFlavor[] getTransferDataFlavors() {\r
- return new DataFlavor[] { DataFlavor.getTextPlainUnicodeFlavor() };\r
+ return flavors;\r
}\r
\r
@Override\r
public boolean isDataFlavorSupported(DataFlavor arg0) {\r
- return(DataFlavor.getTextPlainUnicodeFlavor().equals(arg0));\r
+ return flavor.equals(arg0);\r
}\r
\r
}\r