2013-02-21 6 views

Répondre

0

pas l'approche la plus propre, mais il m'a aidé à savoir ce qui se passe:

@Override 
public void start(final Stage stage) { 

    // .. initialize scene 

    addCursorChangeListeners(mainPane); 
    scene.cursorProperty().addListener(new ChangeListener<Cursor>() { 
     @Override 
     public void changed(final ObservableValue<? extends Cursor> observable, final Cursor oldValue, final Cursor newValue) { 
      LOGGER.info("Cursor changed for " + scene + " from: " + oldValue + " to: " + newValue); 
     } 
    }); 
} 

private void addCursorChangeListeners(final Parent parent) { 
    for (final Node child : parent.getChildrenUnmodifiable()) { 
     child.cursorProperty().addListener(new ChangeListener<Cursor>() { 
      @Override 
      public void changed(final ObservableValue<? extends Cursor> observable, final Cursor oldValue, final Cursor newValue) { 
       LOGGER.info("Cursor changed for " + child + " from: " + oldValue + " to: " + newValue); 
      } 
     }); 
     if (child instanceof Parent) { 
      addCursorChangeListeners((Parent) child); 
     } 
    } 
} 

Node s ajoutées par la suite ne sont pas considérés ici.

Questions connexes