package demos.components;
import com.jfoenix.controls.JFXSlider;
import com.jfoenix.controls.JFXSlider.IndicatorPosition;
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.geometry.Orientation;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Dialog;
import javafx.scene.layout.HBox;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class SliderDemo extends Application {
@Override
public void start(Stage stage) {
JFXSlider horLeftSlider = new JFXSlider();
horLeftSlider.setMinWidth(500);
JFXSlider horRightSlider = new JFXSlider();
horRightSlider.setMinWidth(500);
horRightSlider.setIndicatorPosition(IndicatorPosition.RIGHT);
JFXSlider verLeftSlider = new JFXSlider();
verLeftSlider.setMinHeight(500);
verLeftSlider.setOrientation(Orientation.VERTICAL);
JFXSlider verRightSlider = new JFXSlider();
verRightSlider.setMinHeight(500);
verRightSlider.setOrientation(Orientation.VERTICAL);
verRightSlider.setIndicatorPosition(IndicatorPosition.RIGHT);
HBox hbox = new HBox();
hbox.setSpacing(450);
hbox.getChildren().addAll(verRightSlider, verLeftSlider);
VBox vbox = new VBox();
Button click = new Button("Click");
vbox.getChildren().addAll(horRightSlider, horLeftSlider, hbox, click);
vbox.setSpacing(100);
vbox.setPadding(new Insets(100, 50, 50, 150));
Scene scene = new Scene(new Group());
((Group) scene.getRoot()).getChildren().add(vbox);
scene.getStylesheets().add(SliderDemo.class.getResource("/css/jfoenix-components.css").toExternalForm());
stage.setScene(scene);
stage.setWidth(900);
stage.setHeight(900);
stage.show();
stage.setTitle("JFX Slider Demo");
MyDialog dilaog = new MyDialog(stage);
dilaog.initStyle(StageStyle.UNDECORATED);
dilaog.initOwner(stage);
dilaog.initModality(Modality.NONE);
click.setOnAction((action) -> dilaog.show());
}
public static void main(String[] args) {
launch(args);
}
private static final class MyDialog extends Dialog {
MyDialog(Stage stage) {
stage.getScene().widthProperty().addListener((o, oldVal, newVal) -> {
setWidth(newVal.doubleValue());
});
stage.getScene().heightProperty().addListener((o, oldVal, newVal) -> {
setHeight(newVal.doubleValue());
});
stage.xProperty().addListener((o, oldVal, newVal) -> {
setX(newVal.doubleValue());
});
stage.yProperty().addListener((o, oldVal, newVal) -> {
setY(newVal.doubleValue());
});
}
}
}