SWTアプリでドラッグ & ドロップ

ソースコードはこんな感じです。
省略しているところもあるので、雰囲気が伝わればいいかなと。
複数ファイルを突っ込んだときにあれれ?みたいな突っ込みはなしで ^^;;

テキストボックスのところ

	RowData rowdata = new RowData();
        rowdata.width = 400;

	Text sourceFilePath = new Text(fileComposite, SWT.SINGLE|SWT.BORDER);
	sourceFilePath.setText("");
	sourceFilePath.setLayoutData(rowdata);


	DropTarget target = new DropTarget(sourceFilePath, DND.DROP_DEFAULT|DND.DROP_COPY);
	FileTransfer transfer = FileTransfer.getInstance();
	Transfer[] types = new Transfer[]{transfer};
	target.setTransfer(types);
	target.addDropListener(new FileDropListener());

リスナー

	private class FileDropListener extends DropTargetAdapter {

		@Override
		public void dragEnter(DropTargetEvent event){
			event.detail = DND.DROP_COPY;
		}

		@Override
		public void drop(DropTargetEvent event){
			String[] filePaths = (String[])event.data;
			for (String filePath : filePaths) {
				if (filePath.endsWith(".pdf")) {
					sourceFilePath.setText(filePath);
					break;
				}
			}
		}
	}

実物

自炊補助(PDF編集)ツールのダウンロードはこちら