下面列出了java.awt.datatransfer.DataFlavor#imageFlavor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Gets data from clipboard.
*
* @return the data from clipboard map 中只有一对 kev-value
*/
@Nullable
public static Map<DataFlavor, Object> getDataFromClipboard() {
Map<DataFlavor, Object> data = new HashMap<>(1);
Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
if (transferable != null) {
// 如果剪切板的内容是文件
try {
DataFlavor dataFlavor;
if (transferable.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
// List<File>
dataFlavor = DataFlavor.javaFileListFlavor;
} else if (transferable.isDataFlavorSupported(DataFlavor.imageFlavor)) {
// Image
dataFlavor = DataFlavor.imageFlavor;
} else {
return null;
}
Object object = transferable.getTransferData(dataFlavor);
data.put(dataFlavor, object);
} catch (IOException | UnsupportedFlavorException ignored) {
// 如果 clipboard 没有文件, 不处理
}
}
return data;
}
public DataFlavor[] getTransferDataFlavors()
{
if( customFlavor != null )
return new DataFlavor[]
{
customFlavor,
DATA_FLAVOR,
DataFlavor.imageFlavor
};
else
return new DataFlavor[]
{
DATA_FLAVOR,
DataFlavor.imageFlavor
};
}
public static void main(String[] args) {
DataTransferer.DataFlavorComparator comparator = new DataTransferer.DataFlavorComparator();
DataFlavor flavor1 = DataFlavor.imageFlavor;
DataFlavor flavor2 = DataFlavor.selectionHtmlFlavor;
if (comparator.compare(flavor1, flavor2) == 0) {
throw new RuntimeException(flavor1.getMimeType() + " and " + flavor2.getMimeType() +
" should not be equal");
}
}
public static void main(String[] args) {
DataTransferer.DataFlavorComparator comparator = new DataTransferer.DataFlavorComparator();
DataFlavor flavor1 = DataFlavor.imageFlavor;
DataFlavor flavor2 = DataFlavor.selectionHtmlFlavor;
if (comparator.compare(flavor1, flavor2) == 0) {
throw new RuntimeException(flavor1.getMimeType() + " and " + flavor2.getMimeType() +
" should not be equal");
}
}
public void testGetFileList() throws ClassNotFoundException, URISyntaxException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
DefaultExternalDropHandler handler = new DefaultExternalDropHandler();
DataFlavor uriListFlavor = new DataFlavor("text/uri-list;class=java.lang.String");
Transferable t = new TransferableImpl( new ArrayList(), new DataFlavor[] { DataFlavor.imageFlavor, DataFlavor.stringFlavor } );
assertNull( handler.getFileList( t ) );
List<File> list = new ArrayList<File>( 2 );
list.add( new File("//somedir/somefile.someext") );
list.add( new File("c:\\somedir\\somefile.someext") );
t = new TransferableImpl( list, new DataFlavor[] { DataFlavor.javaFileListFlavor, DataFlavor.stringFlavor } );
List<File> extractedList = handler.getFileList( t );
assertNotNull( extractedList );
assertEquals( 2, extractedList.size() );
for( Iterator i=list.iterator(); i.hasNext(); ) {
assertTrue( extractedList.contains( i.next() ) );
}
String uriList = "file:///somedir/somefile.someext\r\nfile:/c:/somedir/somefile.someext";
t = new TransferableImpl( uriList, new DataFlavor[] { uriListFlavor, DataFlavor.stringFlavor } );
extractedList = handler.getFileList( t );
assertNotNull( extractedList );
assertEquals( 2, extractedList.size() );
assertTrue( extractedList.contains( new File( new URI("file:///somedir/somefile.someext") ) ) );
assertTrue( extractedList.contains( new File( new URI("file:/c:/somedir/somefile.someext") ) ) );
}
public static void main(String[] args) {
Comparator<DataFlavor> comparator = DataFlavorUtil.getDataFlavorComparator();
DataFlavor flavor1 = DataFlavor.imageFlavor;
DataFlavor flavor2 = DataFlavor.selectionHtmlFlavor;
if (comparator.compare(flavor1, flavor2) == 0) {
throw new RuntimeException(flavor1.getMimeType() + " and " + flavor2.getMimeType() +
" should not be equal");
}
}
public static void main(String[] args) {
DataTransferer.DataFlavorComparator comparator = new DataTransferer.DataFlavorComparator();
DataFlavor flavor1 = DataFlavor.imageFlavor;
DataFlavor flavor2 = DataFlavor.selectionHtmlFlavor;
if (comparator.compare(flavor1, flavor2) == 0) {
throw new RuntimeException(flavor1.getMimeType() + " and " + flavor2.getMimeType() +
" should not be equal");
}
}
public static void main(String[] args) {
DataTransferer.DataFlavorComparator comparator = new DataTransferer.DataFlavorComparator();
DataFlavor flavor1 = DataFlavor.imageFlavor;
DataFlavor flavor2 = DataFlavor.selectionHtmlFlavor;
if (comparator.compare(flavor1, flavor2) == 0) {
throw new RuntimeException(flavor1.getMimeType() + " and " + flavor2.getMimeType() +
" should not be equal");
}
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] {DataFlavor.imageFlavor};
}
public DataFlavor[] getTransferDataFlavors()
{
return new DataFlavor[]{DataFlavor.imageFlavor};
}
@Override
@Nonnull
@MustNotContainNull
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] {DataFlavor.imageFlavor};
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] { DataFlavor.imageFlavor };
}
@Override
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{DataFlavor.imageFlavor};
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] {DataFlavor.imageFlavor};
}
@Override
public DataFlavor[] getTransferDataFlavors() {
DataFlavor[] flavors = new DataFlavor[1];
flavors[0] = DataFlavor.imageFlavor;
return flavors;
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{
DataFlavor.imageFlavor};
}
@Override
public DataFlavor[] getTransferDataFlavors()
{
return new DataFlavor[]{DataFlavor.imageFlavor};
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{DataFlavor.imageFlavor};
}
public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[] {DataFlavor.imageFlavor};
}
@Override
public DataFlavor[] getTransferDataFlavors() {
DataFlavor[] flavors = new DataFlavor[1];
flavors[0] = DataFlavor.imageFlavor;
return flavors;
}