【问题标题】:JavaFx Drag and Drop Image from one image view to anotherJavaFx 将图像从一个图像视图拖放到另一个图像视图
【发布时间】:2017-02-17 02:01:40
【问题描述】:

编辑答案和更新代码:

我有一个 javafx 应用程序,我想将图像从一个图像视图拖到同一窗口中的另一个。但我想不出办法让第二个图像视图接受并显示图像。

    Image image = new Image("file:src/drag_and_drop_6/Notes.png");
    ImageView iv = new ImageView();
    iv.setImage(image);

    Image image2 = new Image("file:src/drag_and_drop_6/orca.png");
    ImageView iv2 = new ImageView();
    iv2.setImage(image2);


    iv.setOnDragDetected((MouseEvent event) -> {
        Dragboard db = iv.startDragAndDrop(TransferMode.ANY);
        ClipboardContent content = new ClipboardContent();
        content.putImage(iv.getImage());
        db.setContent(content);
        event.consume();
    });

    iv.setOnDragOver(new EventHandler<DragEvent>() {
        public void handle(DragEvent event) {
            if (event.getGestureSource() != iv &&
                    event.getDragboard().hasImage()) {
                    event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
                }
            event.consume();  

             }
    });

    iv.setOnDragDone(new EventHandler<DragEvent>() {
        public void handle(DragEvent event) {

            Dragboard db = event.getDragboard();

           if (db.hasImage()) {
                iv2.setImage(db.getImage());
            }
             event.consume(); 

        }
    });

【问题讨论】:

  • 您实际上是在哪里尝试更改第二个图像视图中显示的图像?您可以包含该代码吗?
  • @James_D,我正在开发一个应用程序,用户可以在其中根据重要性随意重新排列流窗格中的节点。我正在第一次体验拖放,并​​试图弄清楚事情是如何运作的。
  • 我实际上希望能够使用它们的 ID 移动节点...

标签: javafx drag-and-drop imageview


【解决方案1】:

我自己在Can't manage to do drag and drop in a GridPane 找到了这些漏洞。

    ClipboardContent content = new ClipboardContent();
    content.putImage(iv.getImage());
    // instead of
    // content.putString(iv.getId());

    if (db.hasImage()) {
         iv2.setImage(db.getImage());
    }

上面是完整的纠正代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 2011-03-04
    相关资源
    最近更新 更多