ブラウザから、リンクや画像等をドラッグ&ドロップして、Java 上に表示したいのですが、 情報が見当たらずでした。 良い方法がありましたら、どうぞご教授願います。 よろしくお願いいたします。 class MyDropTargetAdapter extends DropTargetAdapter { DropTest win; MyDropTargetAdapter(DropTest win_){win=win_;} public void drop(DropTargetDropEvent e) { try { Transferable t = e.getTransferable(); if (t.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) { e.acceptDrop(DnDConstants.ACTION_COPY_OR_MOVE); @SuppressWarnings("unchecked") java.util.List fileList = (java.util.List) (t.getTransferData(DataFlavor.javaFileListFlavor)); win.setFileNames(fileList); } } catch(Exception ex){ex.printStackTrace(System.err);} } } public class DropTest extends JFrame { /** * */ private static final long serialVersionUID = 4586152998542121557L; private JTextArea textArea; public static void main(String[] args) { DropTest win = new DropTest(); win.pack(); win.setVisible(true); } public DropTest() { super("DropTest:下の領域にファイルをドロップしてください"); Container con = getContentPane(); textArea = new JTextArea(10, 50); con.add(textArea); new DropTarget(textArea,new MyDropTargetAdapter(this)); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void setFileNames(java.util.List fileList) { StringBuilder sb = new StringBuilder(); for (File file:fileList) { sb.append(file.getAbsolutePath()).append("\n"); } textArea.setText(sb.toString()); } }
↧