import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class MovingWindowEx extends Application {
int x = 0;
int y = 0;
Label lblx;
Label lbly;
@Override
public void start(Stage stage) {
initUI(stage);
}
private void initUI(Stage stage) {
VBox root = new VBox(10);
root.setPadding(new Insets(10));
String txt1 = String.format("x: %d", x);
lblx = new Label(txt1);
String txt2 = String.format("y: %d", y);
lbly = new Label(txt2);
root.getChildren().addAll(lblx, lbly);
stage.xProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
doChange(newValue);
}
private void doChange(Number newValue) {
x = newValue.intValue();
updateXLabel();
}
});
stage.yProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
doChange(newValue);
}
private void doChange(Number newValue) {
y = newValue.intValue();
updateYLabel();
}
});
Scene scene = new Scene(root, 300, 250);
stage.setTitle("Moving window");
stage.setScene(scene);
stage.show();
}
private void updateXLabel() {
String txt = String.format("x: %d", x);
lblx.setText(txt);
}
private void updateYLabel() {
String txt = String.format("y: %d", y);
lbly.setText(txt);
}
public static void main(String[] args) {
launch(args);
}
}
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class MovingWindowEx extends Application {
int x = 0;
int y = 0;
Label lblx;
Label lbly;
@Override
public void start(Stage stage) {
initUI(stage);
}
private void initUI(Stage stage) {
VBox root = new VBox(10);
root.setPadding(new Insets(10));
String txt1 = String.format("x: %d", x);
lblx = new Label(txt1);
String txt2 = String.format("y: %d", y);
lbly = new Label(txt2);
root.getChildren().addAll(lblx, lbly);
stage.xProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
doChange(newValue);
}
private void doChange(Number newValue) {
x = newValue.intValue();
updateXLabel();
}
});
stage.yProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue<? extends Number> observable,
Number oldValue, Number newValue) {
doChange(newValue);
}
private void doChange(Number newValue) {
y = newValue.intValue();
updateYLabel();
}
});
Scene scene = new Scene(root, 300, 250);
stage.setTitle("Moving window");
stage.setScene(scene);
stage.show();
}
private void updateXLabel() {
String txt = String.format("x: %d", x);
lblx.setText(txt);
}
private void updateYLabel() {
String txt = String.format("y: %d", y);
lbly.setText(txt);
}
public static void main(String[] args) {
launch(args);
}
}
No comments:
Post a Comment