tutorial progressindicator item español javafx-2

javafx-2 - item - progressindicator javafx



Cómo escuchar eventos de cambio de tamaño en JavaFX (3)

¿Cómo puedo detectar cuándo cambia la escena o el escenario en JavaFX 2.1? No puedo encontrar ningún EventHandler para esto.


Una forma de realizar una acción después de que el tamaño de una escena haya finalizado puede hacer esto:

(Nota: quizás haya mejores formas de hacer esto, para mí, hizo el trabajo)

final Stage primaryStage = getStage() // get your stage from somewhere // create a listener final ChangeListener<Number> listener = new ChangeListener<Number>() { final Timer timer = new Timer(); // uses a timer to call your resize method TimerTask task = null; // task to execute after defined delay final long delayTime = 200; // delay that has to pass in order to consider an operation done @Override public void changed(ObservableValue<? extends Number> observable, Number oldValue, final Number newValue) { if (task != null) { // there was already a task scheduled from the previous operation ... task.cancel(); // cancel it, we have a new size to consider } task = new TimerTask() // create new task that calls your resize operation { @Override public void run() { // here you can place your resize code System.out.println("resize to " + primaryStage.getWidth() + " " + primaryStage.getHeight()); } }; // schedule new task timer.schedule(task, delayTime); } }; // finally we have to register the listener primaryStage.widthProperty().addListener(listener); primaryStage.heightProperty().addListener(listener);


esto es demasiado viejo y básico, pero podría ayudar a un noob como yo

puede agregar un oyente a las propiedades de ancho y alto

stage.heightProperty().addListener(e ->{ handle.... }); stage.widthProperty().addListener(e ->{ handle.... });


Hay heightProperty y widthProperty . Puede utilizar estas propiedades para vincular o agregar detectores a ellas.

public void start(Stage stage) { Scene scene = new Scene(new Group(), 300, 200); stage.setScene(scene); stage.titleProperty().bind( scene.widthProperty().asString(). concat(" : "). concat(scene.heightProperty().asString())); stage.show(); }

O vea el siguiente ejemplo: https://.com/a/9893911/1054140