Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p><strong>[UPDATE]</strong></p> <p>Finally managed it myself:</p> <pre><code>/* The 'sceneRoot' object is the root Node of the scene graph * stage.setScene(new Scene(sceneRoot, 1280, 1024)); */ private ImageView dragImageView = new ImageView(); private Node dragItem; </code></pre> <p>_</p> <pre><code>rightPane.setOnMouseDragEntered(new EventHandler&lt;MouseDragEvent&gt;() { public void handle(MouseDragEvent e) { rightPane.setStyle("-fx-border-color:red;-fx-border-width:2;-fx-border-style:solid;"); e.consume(); } }); rightPane.setOnMouseDragExited(new EventHandler&lt;MouseDragEvent&gt;() { public void handle(MouseDragEvent e) { rightPane.setStyle("-fx-border-style:none;"); e.consume(); } }); rightPane.setOnMouseDragReleased(new EventHandler&lt;MouseDragEvent&gt;() { public void handle(MouseDragEvent e) { //TODO: add new instance of dragItem to rightPane e.consume(); } }); </code></pre> <p>_</p> <pre><code>private void addGesture(final Node node) { node.setOnDragDetected(new EventHandler&lt;MouseEvent&gt;() { public void handle(MouseEvent e) { SnapshotParameters snapParams = new SnapshotParameters(); snapParams.setFill(Color.TRANSPARENT); dragImageView.setImage(node.snapshot(snapParams, null)); sceneRoot.getChildren().add(dragImageView); dragImageView.startFullDrag(); e.consume(); } }); node.setOnMouseDragged(new EventHandler&lt;MouseEvent&gt;() { public void handle(MouseEvent e) { Point2D localPoint = sceneRoot.sceneToLocal(new Point2D(e.getSceneX(), e.getSceneY())); dragImageView.relocate( (int)(localPoint.getX() - dragImageView.getBoundsInLocal().getWidth() / 2), (int)(localPoint.getY() - dragImageView.getBoundsInLocal().getHeight() / 2) ); e.consume(); } }); node.setOnMouseEntered(new EventHandler&lt;MouseEvent&gt;() { public void handle(MouseEvent e) { node.setCursor(Cursor.HAND); } }); node.setOnMousePressed(new EventHandler&lt;MouseEvent&gt;() { public void handle(MouseEvent e) { dragItem = node; dragImageView.setMouseTransparent(true); node.setMouseTransparent(true); node.setCursor(Cursor.CLOSED_HAND); } }); node.setOnMouseReleased(new EventHandler&lt;MouseEvent&gt;() { public void handle(MouseEvent e) { dragItem = null; dragImageView.setMouseTransparent(false); node.setMouseTransparent(false); node.setCursor(Cursor.DEFAULT); sceneRoot.getChildren().remove(dragImageView); } }); } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload