2018年4月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
ブログ:ココログ
時間のないサイト運営者リング
時間のないサイト運営者リング

« [Java8] JavaFX、とりあえずリストビュー | トップページ | タッチ操作向けサイト構築のガイドライン - IEBlog 日本語 - Site Home - MSDN Blogs »

2014.08.06

[Java8] JavaFX、ファイルのドラッグ&ドロップ

Controllerクラスに次のコードを追加してScene BuilderでAnchorPane(他のコントロールでもいい)の"On Drag Over"と"On  Drag Dropped"にそれぞれhandleDragOverとhandleDroppedを 割り当てる とFinderや エクスプローラーからファイルをドラッグアンドドロップで受け取ることができるようになる。ほかにもドラッグ&ドロップ関係のイベントがあるみたいだけど、これだけでファイルはとりあえず受け取れるようだ。(ほかのイベントはまだ調べていない(^^;))

    @FXML
    private void handleDragOver(DragEvent event) {
        // ドラッグボードを取得
        Dragboard board = event.getDragboard();
        if(board.hasFiles()) {  // ドラッグされているのがファイルなら
            // コピーモードを設定(これでマウスカーソルが矢印に+のやつになる)
            event.acceptTransferModes(TransferMode.COPY);
        }
    }

    @FXML
    private void handleDropped(DragEvent event) {
        // ドラッグボードを取得
        Dragboard board = event.getDragboard();
        if(board.hasFiles()) { 
            board.getFiles().stream().forEach((f) -> {
                System.out.println(f.getPath());
            });
            // ドロップ受け入れ
            event.setDropCompleted(true);
        } else {    // ファイル以外なら
            // ドロップ受け入れ拒否
            event.setDropCompleted(false);
        }
    }

« [Java8] JavaFX、とりあえずリストビュー | トップページ | タッチ操作向けサイト構築のガイドライン - IEBlog 日本語 - Site Home - MSDN Blogs »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/43319/60099828

この記事へのトラックバック一覧です: [Java8] JavaFX、ファイルのドラッグ&ドロップ:

« [Java8] JavaFX、とりあえずリストビュー | トップページ | タッチ操作向けサイト構築のガイドライン - IEBlog 日本語 - Site Home - MSDN Blogs »


Google

サーチする:
Amazon.co.jp のロゴ









携帯URL