下面列出了java.awt.datatransfer.Transferable#getTransferDataFlavors ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public void drop(final DropTargetDropEvent dtde) {
final Transferable transferable = dtde.getTransferable();
for (final DataFlavor flavor : transferable.getTransferDataFlavors()) {
if (DataFlavor.javaFileListFlavor.equals(flavor)) {
dtde.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE);
try {
@SuppressWarnings("unchecked")
final List<File> fileList = (List<File>) transferable.getTransferData(DataFlavor.javaFileListFlavor);
final String[] fileArray = new String[fileList.size()];
int i = 0;
for (final File file : fileList) {
fileArray[i++] = file.getCanonicalPath();
}
image.dropPluginFileList = fileArray;
addDragEvent(DRAG.DROP, dtde.getLocation());
dtde.getDropTargetContext().dropComplete(true);
return;
} catch (final IOException | UnsupportedFlavorException e) {
CompilerDirectives.transferToInterpreter();
e.printStackTrace();
}
}
}
dtde.rejectDrop();
}
public void testClipboardCopy() throws Exception {
String tablename = "testtable";
String pkName = "id";
createBasicTable(tablename, pkName);
TableNode tableNode = getTableNode(tablename);
assertNotNull(tableNode);
assertTrue(tableNode.canCopy());
Transferable transferable = (Transferable)tableNode.clipboardCopy();
Set mimeTypes = new HashSet();
DataFlavor[] flavors = transferable.getTransferDataFlavors();
for (int i = 0; i < flavors.length; i++) {
mimeTypes.add(flavors[i].getMimeType());
}
assertTrue(mimeTypes.contains("application/x-java-netbeans-dbexplorer-table; class=org.netbeans.api.db.explorer.DatabaseMetaDataTransfer$Table"));
assertTrue(mimeTypes.contains("application/x-java-openide-nodednd; mask=1; class=org.openide.nodes.Node"));
dropTable(tablename);
}
public void testClipboardCopy() throws Exception {
String tablename = "testtable";
String pkName = "id";
createBasicTable(tablename, pkName);
String viewname = "testview";
createView(viewname, "select id from testtable");
ViewNode viewNode = getViewNode(viewname);
assertNotNull(viewNode);
assertTrue(viewNode.canCopy());
Transferable transferable = (Transferable)viewNode.clipboardCopy();
Set mimeTypes = new HashSet();
DataFlavor[] flavors = transferable.getTransferDataFlavors();
for (int i = 0; i < flavors.length; i++) {
mimeTypes.add(flavors[i].getMimeType());
}
assertTrue(mimeTypes.contains("application/x-java-netbeans-dbexplorer-view; class=org.netbeans.api.db.explorer.DatabaseMetaDataTransfer$View"));
assertTrue(mimeTypes.contains("application/x-java-openide-nodednd; mask=1; class=org.openide.nodes.Node"));
dropView(viewname);
dropTable(tablename);
}
public void testClipboardCopy() throws Exception {
String tablename = "testtable";
String pkName = "id";
createBasicTable(tablename, pkName);
TableNode tableNode = getTableNode(tablename);
assertNotNull(tableNode);
ColumnNode columnNode = getColumnNode(tableNode);
assertNotNull(columnNode);
assertTrue(columnNode.canCopy());
Transferable transferable = (Transferable)columnNode.clipboardCopy();
Set mimeTypes = new HashSet();
DataFlavor[] flavors = transferable.getTransferDataFlavors();
for (int i = 0; i < flavors.length; i++) {
mimeTypes.add(flavors[i].getMimeType());
}
assertTrue(mimeTypes.contains("application/x-java-netbeans-dbexplorer-column; class=org.netbeans.api.db.explorer.DatabaseMetaDataTransfer$Column"));
assertTrue(mimeTypes.contains("application/x-java-openide-nodednd; mask=1; class=org.openide.nodes.Node"));
dropTable(tablename);
}
public synchronized Transferable getLastTransferable(Transferable waitFor) throws Exception {
WAIT: for (int loop = 0; loop < 60; loop++) {
if (loop > 0) {
wait(500);
}
if (lastTransferable != null) {
java.awt.datatransfer.DataFlavor[] arr1 = lastTransferable.getTransferDataFlavors();
java.awt.datatransfer.DataFlavor[] arr2 = waitFor.getTransferDataFlavors();
if (Arrays.asList(arr1).equals(Arrays.asList(arr2))) {
for (int i = 0; i < arr1.length; i++) {
Object f1 = convert(lastTransferable.getTransferData(arr1[i]));
Object f2 = convert(waitFor.getTransferData(arr1[i]));
if (!f1.equals(f2)) {
continue WAIT;
}
}
return lastTransferable;
}
}
}
return null;
}
/**
* Returns a Map whose keys are all of the possible formats into which the
* Transferable's transfer data flavors can be translated. The value of
* each key is the DataFlavor in which the Transferable's data should be
* requested when converting to the format.
* <p>
* The map keys are sorted according to the native formats preference
* order.
*/
public SortedMap<Long,DataFlavor> getFormatsForTransferable(
Transferable contents, FlavorTable map)
{
DataFlavor[] flavors = contents.getTransferDataFlavors();
if (flavors == null) {
return new TreeMap();
}
return getFormatsForFlavors(flavors, map);
}
/**
* @see java.awt.Clipboard#getAvailableDataFlavors
* @since 1.5
*/
public DataFlavor[] getAvailableDataFlavors() {
Transferable cntnts = getContextContents();
if (cntnts != null) {
return cntnts.getTransferDataFlavors();
}
long[] formats = getClipboardFormatsOpenClose();
return DataTransferer.getInstance().
getFlavorsForFormatsAsArray(formats, getDefaultFlavorTable());
}
/**
* @return current DataFlavors available
*/
// NOTE: This method may be called by privileged threads.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
public DataFlavor[] getTransferDataFlavors() {
final Transferable localTransferable = local;
if (localTransferable != null) {
return localTransferable.getTransferDataFlavors();
} else {
return DataTransferer.getInstance().getFlavorsForFormatsAsArray
(currentT, DataTransferer.adaptFlavorMap
(currentDT.getFlavorMap()));
}
}
/**
* Returns a Map whose keys are all of the possible formats into which the
* Transferable's transfer data flavors can be translated. The value of
* each key is the DataFlavor in which the Transferable's data should be
* requested when converting to the format.
* <p>
* The map keys are sorted according to the native formats preference
* order.
*/
public SortedMap<Long,DataFlavor> getFormatsForTransferable(
Transferable contents, FlavorTable map)
{
DataFlavor[] flavors = contents.getTransferDataFlavors();
if (flavors == null) {
return new TreeMap();
}
return getFormatsForFlavors(flavors, map);
}
/**
* @see java.awt.Clipboard#getAvailableDataFlavors
* @since 1.5
*/
public DataFlavor[] getAvailableDataFlavors() {
Transferable cntnts = getContextContents();
if (cntnts != null) {
return cntnts.getTransferDataFlavors();
}
long[] formats = getClipboardFormatsOpenClose();
return DataTransferer.getInstance().
getFlavorsForFormatsAsArray(formats, getDefaultFlavorTable());
}
/**
* @return current DataFlavors available
*/
// NOTE: This method may be called by privileged threads.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
public DataFlavor[] getTransferDataFlavors() {
final Transferable localTransferable = local;
if (localTransferable != null) {
return localTransferable.getTransferDataFlavors();
} else {
return DataTransferer.getInstance().getFlavorsForFormatsAsArray
(currentT, DataTransferer.adaptFlavorMap
(currentDT.getFlavorMap()));
}
}
@SuppressWarnings("rawtypes")
public void drop(DropTargetDropEvent e){
Transferable transferable = e.getTransferable();
DataFlavor[] types = transferable.getTransferDataFlavors();
for(DataFlavor type : types){
try{
if(type.equals(DataFlavor.javaFileListFlavor)){
e.acceptDrop(DnDConstants.ACTION_COPY);
for(Object o : (List) transferable.getTransferData(type)){
File file = (File) o;
if (isFileAcceptable(file)) {
if (component == 1) {
MainWindow.mainScreen.openFile(file);
} else if (component == 2) {
MainWindow.lbFilesTab.openFiles(new File[]{file});
}
}
}
}
}catch (Exception e1){ e1.printStackTrace(); }
}
e.dropComplete(true);
}
/**
* @return current DataFlavors available
*/
// NOTE: This method may be called by privileged threads.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
public DataFlavor[] getTransferDataFlavors() {
final Transferable localTransferable = local;
if (localTransferable != null) {
return localTransferable.getTransferDataFlavors();
} else {
return DataTransferer.getInstance().getFlavorsForFormatsAsArray
(currentT, DataTransferer.adaptFlavorMap
(currentDT.getFlavorMap()));
}
}
/**
* Returns a Map whose keys are all of the possible formats into which the
* Transferable's transfer data flavors can be translated. The value of
* each key is the DataFlavor in which the Transferable's data should be
* requested when converting to the format.
* <p>
* The map keys are sorted according to the native formats preference
* order.
*/
public SortedMap<Long,DataFlavor> getFormatsForTransferable(
Transferable contents, FlavorTable map)
{
DataFlavor[] flavors = contents.getTransferDataFlavors();
if (flavors == null) {
return new TreeMap();
}
return getFormatsForFlavors(flavors, map);
}
/**
* Returns a Map whose keys are all of the possible formats into which the
* Transferable's transfer data flavors can be translated. The value of
* each key is the DataFlavor in which the Transferable's data should be
* requested when converting to the format.
* <p>
* The map keys are sorted according to the native formats preference
* order.
*/
public SortedMap<Long,DataFlavor> getFormatsForTransferable(
Transferable contents, FlavorTable map)
{
DataFlavor[] flavors = contents.getTransferDataFlavors();
if (flavors == null) {
return new TreeMap();
}
return getFormatsForFlavors(flavors, map);
}
/**
* @see java.awt.Clipboard#getAvailableDataFlavors
* @since 1.5
*/
public DataFlavor[] getAvailableDataFlavors() {
Transferable cntnts = getContextContents();
if (cntnts != null) {
return cntnts.getTransferDataFlavors();
}
long[] formats = getClipboardFormatsOpenClose();
return DataTransferer.getInstance().
getFlavorsForFormatsAsArray(formats, getDefaultFlavorTable());
}
/**
* @return current DataFlavors available
*/
// NOTE: This method may be called by privileged threads.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
public DataFlavor[] getTransferDataFlavors() {
final Transferable localTransferable = local;
if (localTransferable != null) {
return localTransferable.getTransferDataFlavors();
} else {
return DataTransferer.getInstance().getFlavorsForFormatsAsArray
(currentT, DataTransferer.adaptFlavorMap
(currentDT.getFlavorMap()));
}
}
/**
* @return current DataFlavors available
*/
// NOTE: This method may be called by privileged threads.
// DO NOT INVOKE CLIENT CODE ON THIS THREAD!
public DataFlavor[] getTransferDataFlavors() {
final Transferable localTransferable = local;
if (localTransferable != null) {
return localTransferable.getTransferDataFlavors();
} else {
return DataTransferer.getInstance().getFlavorsForFormatsAsArray
(currentT, DataTransferer.adaptFlavorMap
(currentDT.getFlavorMap()));
}
}
/**
* @see java.awt.datatransfer.Clipboard#getAvailableDataFlavors
* @since 1.5
*/
public DataFlavor[] getAvailableDataFlavors() {
Transferable cntnts = getContextContents();
if (cntnts != null) {
return cntnts.getTransferDataFlavors();
}
long[] formats = getClipboardFormatsOpenClose();
return DataTransferer.getInstance().
getFlavorsForFormatsAsArray(formats, getDefaultFlavorTable());
}
public ConnectorState isAcceptable(Widget widget, Point point, Transferable transferable) {
System.out.print("\nPageFlowAcceptProvider: IS ACCEPTABLE HAS BEEN CALLED.");
System.out.println("Widget: " + widget);
System.out.println("Point: " + point);
System.out.println("Transferable: " + transferable);
DataFlavor[] dfs = transferable.getTransferDataFlavors();
for( DataFlavor flavor: dfs){
System.out.println("Data Flavor: " + flavor);
}
return ConnectorState.REJECT_AND_STOP;
}