Java 类java.awt.datatransfer.DataFlavor 实例源码
项目:openjdk-jdk10
文件:MissedHtmlAndRtfBug.java
public MissedHtmlAndRtfBug(Point targetFrameLocation, Point dragSourcePoint, DataFlavor df)
throws InterruptedException {
final Frame targetFrame = new Frame("Target frame");
final TargetPanel targetPanel = new TargetPanel(targetFrame, df);
targetFrame.add(targetPanel);
targetFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
targetFrame.dispose();
}
});
targetFrame.setLocation(targetFrameLocation);
targetFrame.pack();
targetFrame.setVisible(true);
doTest(dragSourcePoint, targetPanel);
}
项目:BaseClient
文件:GuiScreen.java
/**
* Returns a string stored in the system clipboard.
*/
public static String getClipboardString()
{
try
{
Transferable transferable = Toolkit.getDefaultToolkit().getSystemClipboard().getContents((Object)null);
if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor))
{
return (String)transferable.getTransferData(DataFlavor.stringFlavor);
}
}
catch (Exception var1)
{
;
}
return "";
}
项目:incubator-netbeans
文件:ViewNodeTest.java
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);
}
项目:openjdk-jdk10
文件:bug8059739.java
private static void runTest() throws Exception {
String testString = "my string";
JTextField tf = new JTextField(testString);
tf.selectAll();
Clipboard clipboard = new Clipboard("clip");
tf.getTransferHandler().exportToClipboard(tf, clipboard, TransferHandler.COPY);
DataFlavor[] dfs = clipboard.getAvailableDataFlavors();
for (DataFlavor df: dfs) {
String charset = df.getParameter("charset");
if (InputStream.class.isAssignableFrom(df.getRepresentationClass()) &&
charset != null) {
BufferedReader br = new BufferedReader(new InputStreamReader(
(InputStream) clipboard.getData(df), charset));
String s = br.readLine();
System.out.println("Content: '" + s + "'");
passed &= s.contains(testString);
}
}
}
项目:dead-code-detector
文件:FileTransferHandler.java
/** {@inheritDoc} */
@Override
public boolean importData(JComponent comp, Transferable t) {
if (!t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
return false;
}
try {
@SuppressWarnings("unchecked")
final List<File> files = (List<File>) t.getTransferData(DataFlavor.javaFileListFlavor);
// importation
fileTableModel.addFiles(files);
return true;
} catch (final Exception e) {
DcdUiHelper.printStackTrace(e);
}
return false;
}
项目:incubator-netbeans
文件:ConnectionNodeTest.java
public void testClipboardCopy() throws Exception {
JDBCDriver driver = JDBCDriver.create("foo", "Foo", "org.example.Foo", new URL[0]);
JDBCDriverManager.getDefault().addDriver(driver);
DatabaseConnection dbconn = DatabaseConnection.create(driver, "url", "user", "schema", "pwd", false);
ConnectionManager.getDefault().addConnection(dbconn);
ConnectionNode connectionNode = getConnectionNode();
assertTrue(connectionNode != null);
assertTrue(connectionNode.canCopy());
Transferable transferable = (Transferable)connectionNode.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-connection; class=org.netbeans.api.db.explorer.DatabaseMetaDataTransfer$Connection"));
assertTrue(mimeTypes.contains("application/x-java-openide-nodednd; mask=1; class=org.openide.nodes.Node"));
}
项目:incubator-netbeans
文件:ClipboardHistory.java
@Override
public void clipboardChanged(ClipboardEvent ev) {
ExClipboard clipboard = ev.getClipboard();
Transferable transferable = null;
String clipboardContent = null;
try {
transferable = clipboard.getContents(null);
if (transferable != null && transferable.isDataFlavorSupported(DataFlavor.stringFlavor)) {
clipboardContent = (String) transferable.getTransferData(DataFlavor.stringFlavor);
}
} catch (OutOfMemoryError oom) {
NotificationDisplayer.getDefault().notify( NbBundle.getBundle(ClipboardHistory.class).getString("clipboard-history-oom"),NotificationDisplayer.Priority.NORMAL.getIcon(), NbBundle.getBundle(ClipboardHistory.class).getString("clipboard-history-oom-details"), null);
return;
} catch (IOException ioe) {
//ignored for bug #218255
} catch (UnsupportedFlavorException ufe) {
}
if (clipboardContent != null) {
addHistory(transferable, clipboardContent);
}
}
项目:SubtitleDownloader
文件:SubtitleDownloaderUI.java
@Override
public void drop(DropTargetDropEvent dtde) {
dtde.acceptDrop(DnDConstants.ACTION_COPY);
try {
Transferable t = dtde.getTransferable();
DataFlavor[] dataFlavors = t.getTransferDataFlavors();
for (DataFlavor df : dataFlavors) {
if (df.isFlavorJavaFileListType()) {
File[] filesArray = (File[]) ((List<File>) t.getTransferData(df)).toArray();
pathNameTextField.setText(getFilesName(filesArray));
}
}
} catch (UnsupportedFlavorException e2) {
} catch (IOException ex) {
Logger.getLogger(SubtitleDownloaderUI.class.getName()).log(Level.SEVERE, null, ex);
}
}
项目:incubator-netbeans
文件:LocallDownloadDnD.java
@Override
public void dragEnter(DropTargetDragEvent dtde) {
accept = null;
value = null;
for (DataFlavor dataFlavor : dtde.getCurrentDataFlavors()) {
Object obj = null;
try {
obj = dtde.getTransferable().getTransferData(dataFlavor);
} catch (Exception ex) {
continue;
}
if (dataFlavor.isFlavorJavaFileListType()) {
accept = dataFlavor;
value = obj;
break;
}
if ("text".equals(dataFlavor.getPrimaryType()) && "uri-list".equals(dataFlavor.getSubType()) && dataFlavor.getRepresentationClass() == String.class) {
accept = dataFlavor;
value = (String) obj;
break;
}
}
if (accept != null) {
dtde.acceptDrag(DnDConstants.ACTION_COPY_OR_MOVE);
}
}
项目:incubator-netbeans
文件:DragDropUtilitiesTest.java
public void testMultiTransferableForCut() throws Exception {
N node = new N();
N n2 = new N();
N[] arr = { node, n2 };
Transferable t = DragDropUtilities.getNodeTransferable(arr, NodeTransfer.DND_MOVE);
assertEquals("One call to cut ", 1, node.cut);
assertEquals("One call to cut on n2", 1, n2.cut);
assertEquals("No to drag", 0, node.drag);
assertEquals("No to drag on n2", 0, n2.drag);
assertEquals("No call to copy", 0, node.copy);
assertEquals("No call to copy on n2", 0, n2.copy);
assertNotNull("Call to convertor", last);
assertTrue("multi flavor supported", last.isDataFlavorSupported(ExTransferable.multiFlavor));
Object obj = last.getTransferData(ExTransferable.multiFlavor);
if (!( obj instanceof MultiTransferObject)) {
fail("It should be MultiTransferObject: " + obj);
}
MultiTransferObject m = (MultiTransferObject)obj;
assertEquals("Two in multi", 2, m.getCount());
assertTrue("Is string", m.getTransferData(0, DataFlavor.stringFlavor) instanceof String);
assertTrue("Is string2", m.getTransferData(1, DataFlavor.stringFlavor) instanceof String);
}
项目:openjdk-jdk10
文件:GetNativesForFlavorTest.java
/**
* Verifies that the encoded native is added only for DataFlavors
* that has no mappings and that DataFlavor is properly encoded.
*/
public static void test4() throws ClassNotFoundException {
final DataFlavor flavor =
new DataFlavor("unknown/unknown");
final java.util.List natives = fm.getNativesForFlavor(flavor);
if (natives.size() == 1) {
String element = (String) natives.get(0);
if (SystemFlavorMap.isJavaMIMEType(element)) {
final DataFlavor decodedFlavor =
SystemFlavorMap.decodeDataFlavor(element);
if (!flavor.equals(decodedFlavor)) {
System.err.println("DataFlavor is not properly incoded:");
System.err.println(" encoded flavor: " + flavor);
System.err.println(" decoded flavor: " + decodedFlavor);
throw new RuntimeException("getFlavorsForNative() returns:"
+ natives);
}
}
} else {
throw new RuntimeException("getFlavorsForNative() returns:"
+ natives);
}
}
项目:openjdk-jdk10
文件:DataFlavorEqualsTest.java
public static void main(String[] args) {
df = new DataFlavor();
try {
eq = df.equals((Object)new DataFlavor());
if (!eq) noexc = false;
eq = df.equals(new DataFlavor());
if (!eq) noexc = false;
eq = df.equals("application/postscript;class=java.awt.datatransfer.DataFlavor");
if (eq) noexc = false;
} catch (NullPointerException e1) {
noexc = false;
}
finished = true;
if (!noexc)
throw new RuntimeException("Test FAILED");
}
项目:incubator-netbeans
文件:WatchesNodeModel.java
public PasteType[] getPasteTypes(final Object node, final Transferable t) throws UnknownTypeException {
if (node != TreeModel.ROOT && getWatch(node) == null) {
return null;
}
DataFlavor[] flavors = t.getTransferDataFlavors();
final DataFlavor textFlavor = DataFlavor.selectBestTextFlavor(flavors);
if (textFlavor != null) {
return new PasteType[] { new PasteType() {
public Transferable paste() {
try {
java.io.Reader r = textFlavor.getReaderForText(t);
java.nio.CharBuffer cb = java.nio.CharBuffer.allocate(1000);
r.read(cb);
cb.flip();
Watch w = getWatch(node);
if (w != null) {
w.setExpression(cb.toString());
//fireModelChange(new ModelEvent.NodeChanged(WatchesNodeModel.this, node));
} else {
// Root => add a new watch
DebuggerManager.getDebuggerManager().createWatch(cb.toString());
}
} catch (Exception ex) {}
return null;
}
} };
} else {
return null;
}
}
项目:openjdk-jdk10
文件:DataFlavorSerializedTest.java
public static void main(String[] args) throws Exception {
df = new DataFlavor("application/x-java-serialized-object;class=java.io.Serializable");
boolean fl = df.isMimeTypeSerializedObject();
finished = true;
if (!fl)
throw new RuntimeException("Test FAILED");
}
项目:OpenJSharp
文件:WDataTransferer.java
@Override
public SortedMap <Long, DataFlavor> getFormatsForFlavors(
DataFlavor[] flavors, FlavorTable map)
{
SortedMap <Long, DataFlavor> retval =
super.getFormatsForFlavors(flavors, map);
// The Win32 native code does not support exporting LOCALE data, nor
// should it.
retval.remove(L_CF_LOCALE);
return retval;
}
项目:SER316-Munich
文件:HTMLEditor.java
private void doPaste() {
Clipboard clip =
java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
try {
Transferable content = clip.getContents(this);
if (content == null)
return;
String txt =
content
.getTransferData(new DataFlavor(String.class, "String"))
.toString();
document.replace(
editor.getSelectionStart(),
editor.getSelectionEnd() - editor.getSelectionStart(),
txt,
editorKit.getInputAttributes());
//editor.replaceSelection(content.getTransferData(new
// DataFlavor(String.class, "String")).toString());
//editor.paste();
//insertHTML(content.getTransferData(new DataFlavor(String.class,
// "String")).toString(), editor.getCaretPosition());
/*
* Element el =
* document.getParagraphElement(editor.getCaretPosition());
* insertTextInElement(el, content.getTransferData(new
* DataFlavor(String.class, "String")).toString(),
*/
} catch (Exception ex) {
ex.printStackTrace();
}
}
项目:foolqq
文件:ClipboardTool.java
public static String getSystemClipboard() {
Clipboard sysClb = null;
sysClb = Toolkit.getDefaultToolkit().getSystemClipboard();
try {
Transferable t = sysClb.getContents(null);
if (null != t && t.isDataFlavorSupported(DataFlavor.stringFlavor)) {
String text = (String) t.getTransferData(DataFlavor.stringFlavor);
return text;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
项目:OpenJSharp
文件:DataTransferer.java
/**
* Helper function to convert a Set of DataFlavors to a sorted array.
* The array will be sorted according to <code>DataFlavorComparator</code>.
*/
public static DataFlavor[] setToSortedDataFlavorArray(Set flavorsSet) {
DataFlavor[] flavors = new DataFlavor[flavorsSet.size()];
flavorsSet.toArray(flavors);
final Comparator comparator =
new DataFlavorComparator(IndexedComparator.SELECT_WORST);
Arrays.sort(flavors, comparator);
return flavors;
}
项目:VISNode
文件:ObjectTransferable.java
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
if (flavor.equals(DataFlavors.object())) {
return value;
} else if (flavor.equals(DataFlavors.string())) {
return value.toString();
} else {
throw new UnsupportedFlavorException(flavor);
}
}
项目:openjdk-jdk10
文件:TargetFileListFrame.java
TargetFileListFrame(Point location, int expectationTransferredFilesNumber) {
try {
dropFlavor = new DataFlavor("text/uri-list;class=java.io.Reader");
} catch (Exception ex) {
}
this.expectationTransferredFilesNumber = expectationTransferredFilesNumber;
initGUI(location);
setDropTarget(new DropTarget(list, DnDConstants.ACTION_COPY,
this));
}
项目:SER316-Aachen
文件:HTMLEditor.java
private void doPaste() {
Clipboard clip =
java.awt.Toolkit.getDefaultToolkit().getSystemClipboard();
try {
Transferable content = clip.getContents(this);
if (content == null)
{
return;
}
String txt =
content
.getTransferData(new DataFlavor(String.class, "String"))
.toString();
document.replace(
editor.getSelectionStart(),
editor.getSelectionEnd() - editor.getSelectionStart(),
txt,
editorKit.getInputAttributes());
//editor.replaceSelection(content.getTransferData(new
// DataFlavor(String.class, "String")).toString());
//editor.paste();
//insertHTML(content.getTransferData(new DataFlavor(String.class,
// "String")).toString(), editor.getCaretPosition());
/*
* Element el =
* document.getParagraphElement(editor.getCaretPosition());
* insertTextInElement(el, content.getTransferData(new
* DataFlavor(String.class, "String")).toString(),
*/
} catch (Exception ex) {
ex.printStackTrace();
}
}
项目:Tarski
文件:mxGraphTransferable.java
/**
*
* @param flavor
* @return Returns true if the given flavor is an image flavor of this transferable.
*/
protected boolean isImageFlavor(DataFlavor flavor) {
int nFlavors = (imageFlavors != null) ? imageFlavors.length : 0;
for (int i = 0; i < nFlavors; i++) {
if (imageFlavors[i].equals(flavor)) {
return true;
}
}
return false;
}
项目:Moenagade
文件:FileDrop.java
/** Determine if the dragged data is a file list. */
private boolean isDragOk( final java.io.PrintStream out, final java.awt.dnd.DropTargetDragEvent evt )
{ boolean ok = false;
// Get data flavors being dragged
java.awt.datatransfer.DataFlavor[] flavors = evt.getCurrentDataFlavors();
// See if any of the flavors are a file list
int i = 0;
while( !ok && i < flavors.length )
{
// BEGIN 2007-09-12 Nathan Blomquist -- Linux (KDE/Gnome) support added.
// Is the flavor a file list?
final DataFlavor curFlavor = flavors[i];
if( curFlavor.equals( java.awt.datatransfer.DataFlavor.javaFileListFlavor ) ||
curFlavor.isRepresentationClassReader()){
ok = true;
}
// END 2007-09-12 Nathan Blomquist -- Linux (KDE/Gnome) support added.
i++;
} // end while: through flavors
// If logging is enabled, show data flavors
if( out != null )
{ if( flavors.length == 0 )
log( out, "FileDrop: no data flavors." );
for( i = 0; i < flavors.length; i++ )
log( out, flavors[i].toString() );
} // end if: logging enabled
return ok;
}
项目:jdk8u-jdk
文件:TargetFileListFrame.java
TargetFileListFrame(Point location, int expectationTransferredFilesNumber) {
try {
dropFlavor = new DataFlavor("text/uri-list;class=java.io.Reader");
} catch (Exception ex) {
}
this.expectationTransferredFilesNumber = expectationTransferredFilesNumber;
initGUI(location);
setDropTarget(new DropTarget(list, DnDConstants.ACTION_COPY,
this));
}
项目:marathonv5
文件:ListTransferHandler.java
@Override public boolean importData(TransferHandler.TransferSupport info) {
if (!info.isDrop()) {
return false;
}
JList list = (JList) info.getComponent();
DefaultListModel listModel = (DefaultListModel) list.getModel();
JList.DropLocation dl = (JList.DropLocation) info.getDropLocation();
int index = dl.getIndex();
boolean insert = dl.isInsert();
// Get the string that is being dropped.
Transferable t = info.getTransferable();
String data;
try {
data = (String) t.getTransferData(DataFlavor.stringFlavor);
} catch (Exception e) {
return false;
}
// Perform the actual import.
if (insert) {
listModel.add(index, data);
} else {
listModel.set(index, data);
}
return true;
}
项目:KernelHive
文件:TransferableKernelRepositoryEntryTest.java
@Test
public void testGetTransferDataFlavors() {
DataFlavor[] df = tkre.getTransferDataFlavors();
DataFlavor d = null;
for (DataFlavor i : df) {
if (i.equals(TransferableKernelRepositoryEntry.entryFlavour)) {
d = i;
break;
}
}
assertNotNull(d);
}
项目:ClipIt
文件:ClipboardUtils.java
public static Clipboard getClipboard() {
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
while (true) {
Throwable throwable = null;
try {
clipboard.isDataFlavorAvailable(DataFlavor.stringFlavor);
} catch (IllegalStateException e) {
throwable = e;
}
if (throwable == null) {
break;
}
}
return clipboard;
}
项目:jdk8u-jdk
文件:ImageTransferTest.java
static String[] retrieveFormatsToTest() {
SystemFlavorMap sfm = (SystemFlavorMap) SystemFlavorMap.getDefaultFlavorMap();
java.util.List<String> ln = sfm.getNativesForFlavor(DataFlavor.imageFlavor);
if (OSInfo.OSType.WINDOWS.equals(OSInfo.getOSType()) && !ln.contains("METAFILEPICT")) {
// for test failing on JDK without this fix
ln.add("METAFILEPICT");
}
return ln.toArray(new String[ln.size()]);
}
项目:Shellcode-IDE
文件:DragAndDrop.java
@Override
public boolean canImport(TransferHandler.TransferSupport info) {
if (!info.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {
return false;
}
return true;
}
项目:brModelo
文件:TransferableImage.java
@Override
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException {
if (flavor.equals(DataFlavor.imageFlavor) && i != null) {
return i;
} else {
throw new UnsupportedFlavorException(flavor);
}
}
项目:incubator-netbeans
文件:RectangularSelectionTransferHandler.java
@Override
public synchronized DataFlavor[] getTransferDataFlavors() {
if (transferDataFlavorsCache != null) {
return transferDataFlavorsCache;
}
DataFlavor[] flavors = delegate.getTransferDataFlavors();
DataFlavor[] result = Arrays.copyOf(flavors, flavors.length + 1);
result[flavors.length] = RECTANGULAR_SELECTION_FLAVOR;
return transferDataFlavorsCache = result;
}
项目:incubator-netbeans
文件:RectangularSelectionTransferHandler.java
@Override
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
if (RECTANGULAR_SELECTION_FLAVOR.equals(flavor)) {
return rectangularSelectionData;
}
return delegate.getTransferData(flavor);
}
项目:Tarski
文件:mxGraphTransferable.java
/**
*
* @param flavor
* @return the richer data flavor of this and the specified
* @throws UnsupportedFlavorException
*/
public Object getRicherData(DataFlavor flavor) throws UnsupportedFlavorException {
if (flavor.equals(dataFlavor)) {
return this;
} else {
throw new UnsupportedFlavorException(flavor);
}
}
项目:incubator-netbeans
文件:EditorCaretTransferHandler.java
@Override
public synchronized DataFlavor[] getTransferDataFlavors() {
if (transferDataFlavorsCache != null) {
return transferDataFlavorsCache;
}
DataFlavor[] flavors = delegate.getTransferDataFlavors();
DataFlavor[] result = Arrays.copyOf(flavors, flavors.length + 1);
result[flavors.length] = RECTANGULAR_SELECTION_FLAVOR;
return transferDataFlavorsCache = result;
}
项目:dead-code-detector
文件:FileTransferHandler.java
/** {@inheritDoc} */
@Override
public boolean canImport(JComponent comp, DataFlavor[] transferFlavors) {
// We only support file lists
for (final DataFlavor transferFlavor : transferFlavors) {
if (!DataFlavor.javaFileListFlavor.equals(transferFlavor)) {
return false;
}
}
return true;
}
项目:powertext
文件:RTATextTransferHandler.java
/**
* Returns whether or not the specified data flavor is a String flavor that
* is supported.
* @param flavor the requested flavor for the data
* @return boolean indicating whether or not the data flavor is supported
*/
protected boolean isStringFlavor(DataFlavor flavor) {
DataFlavor[] flavors = stringFlavors;
for (int i = 0; i < flavors.length; i++) {
if (flavors[i].equals(flavor)) {
return true;
}
}
return false;
}
项目:ramus
文件:BasicTransferable.java
/**
* Returns an array of DataFlavor objects indicating the flavors the data
* can be provided in. The array should be ordered according to preference
* for providing the data (from most richly descriptive to least
* descriptive).
*
* @return an array of data flavors in which this data can be transferred
*/
public DataFlavor[] getTransferDataFlavors() {
DataFlavor[] richerFlavors = getRicherFlavors();
int nRicher = (richerFlavors != null) ? richerFlavors.length : 0;
int nHTML = (isHTMLSupported()) ? htmlFlavors.length : 0;
int nPlain = (isPlainSupported()) ? plainFlavors.length : 0;
int nString = (isPlainSupported()) ? stringFlavors.length : 0;
int nFlavors = nRicher + nHTML + nPlain + nString;
DataFlavor[] flavors = new DataFlavor[nFlavors];
// fill in the array
int nDone = 0;
if (nRicher > 0) {
System.arraycopy(richerFlavors, 0, flavors, nDone, nRicher);
nDone += nRicher;
}
if (nHTML > 0) {
System.arraycopy(htmlFlavors, 0, flavors, nDone, nHTML);
nDone += nHTML;
}
if (nPlain > 0) {
System.arraycopy(plainFlavors, 0, flavors, nDone, nPlain);
nDone += nPlain;
}
if (nString > 0) {
System.arraycopy(stringFlavors, 0, flavors, nDone, nString);
nDone += nString;
}
return flavors;
}
项目:ramus
文件:RowTransferHandle.java
@Override
public boolean canImport(final JComponent comp,
final DataFlavor[] transferFlavors) {
if (comp instanceof ImportExport)
return ((ImportExport) comp).canImport(transferFlavors);
return false;
}
项目:jdk8u-jdk
文件:bug8024061.java
@Override
public Object getTransferData(DataFlavor flavor)
throws UnsupportedFlavorException, IOException {
if (isDataFlavorSupported(flavor)) {
return this;
} else {
throw new UnsupportedFlavorException(flavor);
}
}
项目:sbc-qsystem
文件:PComplexService.java
@Override
public boolean importData(TransferHandler.TransferSupport info) {
if (!info.isDrop()) {
return false;
}
final Transferable t = info.getTransferable();
final ArrayList<QService> dataA;
try {
dataA = (ArrayList<QService>) t.getTransferData(DataFlavor.stringFlavor);
} catch (UnsupportedFlavorException | IOException e) {
System.err.println(e);
return false;
}
if (dataA == null || dataA.isEmpty()) {
return false;
}
final DefaultListModel<QService> sl = (DefaultListModel<QService>) (((JList) (info
.getComponent())).getModel());
dataA.stream().forEach((data) -> {
if (data.isLeaf() && isGood(data)) {
sl.addElement(data);
} else {
QServiceTree.sailToStorm(data, (TreeNode service) -> {
if (service.isLeaf() && isGood((QService) service)) {
sl.addElement((QService) service);
}
});
}
});
return true;
}