Refine search
/** * set mini drawer mode (the drawer will be animated by changing the size instead * of translation).You can disable this mode, by setting the size value <= 0 * * @param size value */ public void setMiniDrawerSize(double size) { this.miniDrawerSize.set(size); if (size > 0) { updateSize(size); initTranslate.unbind(); initTranslate.set(0); paddingSizeProperty.set(size); } else { updateSize(getDefaultDrawerSize()); initTranslate.bind(initTranslateBinding); paddingSizeProperty.set(0); } resizeTo = size; }
private void observe(Node n) { n.layoutXProperty().addListener(this); n.layoutYProperty().addListener(this); }
/*************************************************************************** * * * public properties * * * **************************************************************************/ public double getDefaultDrawerSize() { return defaultSizeProperty.get(); }
DoubleProperty y = new SimpleDoubleProperty(startPos); Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(1), new KeyValue(y, endPos))); y.addListener((obs, oldValue, newValue) -> window.setY(newValue.doubleValue())); timeline.play(); primaryStage.setScene(new Scene(root, 350, 120)); primaryStage.show();
static public class PannableCanvas extends Pane { DoubleProperty myScale = new SimpleDoubleProperty(1.0); return myScale.get(); myScale.set(scale); scene.addEventFilter( ScrollEvent.ANY, sceneGestures.getOnScrollEventHandler()); stage.setScene(scene); stage.show();
@Override public void start(Stage primaryStage) { StackPane root = new StackPane(); root.setStyle("-fx-background-color: null;"); root.setPadding(new Insets(10)); DoubleProperty doubleProperty = new SimpleDoubleProperty(0); Region region = new Region(); region.styleProperty().bind(Bindings .concat("-fx-background-radius:20; -fx-background-color: rgba(56, 176, 209, ") .concat(doubleProperty) .concat(");")); region.setEffect(new DropShadow(10, Color.GREY)); Slider slider = new Slider(0, 1, .3); doubleProperty.bind(slider.valueProperty()); root.getChildren().addAll(region, slider); primaryStage.initStyle(StageStyle.TRANSPARENT); Scene scene = new Scene(root, 300, 250); scene.setFill(Color.TRANSPARENT); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); }
private DoubleProperty fontSize = new SimpleDoubleProperty(10); private IntegerProperty blues = new SimpleIntegerProperty(50); Scene scene = new Scene(root, 300, 250); fontSize.bind(scene.widthProperty().add(scene.heightProperty()).divide(50)); child.styleProperty().bind(Bindings.concat("-fx-font-size: ", fontSize.asString(), ";" ,"-fx-base: rgb(100,100,",blues.asString(),");")); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show();
final Group group = new Group(); final Scene scene = new Scene(group, 500, 500, Color.WHITE); stage.setScene(scene); stage.setTitle("Circles"); stage.show(); DoubleProperty angle = new SimpleDoubleProperty(); Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(2), new KeyValue(angle, 360))); timeline.setCycleCount(Animation.INDEFINITE); Rotate rotate = new Rotate(0, 250, 250); circle.getTransforms().add(rotate); rotate.angleProperty().bind(angle.add(360.0 * i / 5)); group.getChildren().add(circle);
double currentX = primaryStage.getX() ; DoubleProperty x = new SimpleDoubleProperty(currentX); x.addListener((obs, oldX, newX) -> primaryStage.setX(newX.doubleValue())); KeyFrame keyFrame = new KeyFrame(Duration.seconds(1), new KeyValue(x, currentX + 100)); Timeline animation = new Timeline(keyFrame); primaryStage.setScene(scene); primaryStage.show();
DoubleProperty value = new SimpleDoubleProperty(); DoubleProperty minValue = new SimpleDoubleProperty(); DoubleProperty maxValue = new SimpleDoubleProperty(); arc.setStroke(Color.WHITE.deriveColor(0, 0, 1, 0.5)); arc.setStartAngle(270 - startOffset); arc.lengthProperty().bind(value.subtract(minValue).divide(maxValue.subtract(minValue)).multiply(-maxRange)); minSlider.setPrefWidth(200); value.bind(valueSlider.valueProperty()); minValue.bind(minSlider.valueProperty()); maxValue.bind(maxSlider.valueProperty()); primaryStage.setScene(scene); primaryStage.show();
innerCircleCurve.startXProperty().bind(curves.get(0).startXProperty()); innerCircleCurve.startYProperty().bind(curves.get(0).startYProperty()); innerCircleCurve.endXProperty().bind(curves.get(1).startXProperty()); innerCircleCurve.endYProperty().bind(curves.get(1).startYProperty()); curves.get(0).startXProperty().addListener((o, oldVal, newVal) -> { final Point2D controlPoint = makeControlPoint(newVal.doubleValue(), curves.get(0).getStartY(), innerCircleCurve.setControlY1(controlPoint.getY()); }); curves.get(0).startYProperty().addListener((o, oldVal, newVal) -> { final Point2D controlPoint = makeControlPoint(curves.get(0).getStartX(), newVal.doubleValue(), innerCircleCurve.setControlY1(controlPoint.getY()); }); curves.get(1).startXProperty().addListener((o, oldVal, newVal) -> { final Point2D controlPoint = makeControlPoint(newVal.doubleValue(), curves.get(1).getStartY(), innerCircleCurve.setControlY2(controlPoint.getY()); }); curves.get(1).startYProperty().addListener((o, oldVal, newVal) -> { final Point2D controlPoint = makeControlPoint(curves.get(1).getStartX(), newVal.doubleValue(), outerCircleCurve.startXProperty().bind(curves.get(0).endXProperty()); outerCircleCurve.startYProperty().bind(curves.get(0).endYProperty()); outerCircleCurve.endXProperty().bind(curves.get(1).endXProperty());
public void show(boolean autohide) { if(canShow) { _prepareShow(autohide); dialogStage.getScene().getRoot().opacityProperty().set(0); dialogStage.show(); Timeline timeline = new Timeline(); KeyFrame key = new KeyFrame(Duration.millis(100), new KeyValue (dialogStage.getScene().getRoot().opacityProperty(), 1)); timeline.getKeyFrames().add(key); timeline.play(); canShow = false; } }
private void initListeners() { initTranslateBinding = Bindings.createDoubleBinding(() -> -1 * directionProperty.get().doubleValue() * defaultSizeProperty.getValue() - initOffset * directionProperty.get().doubleValue(), defaultSizeProperty, directionProperty); initTranslate.bind(initTranslateBinding); initTranslate.addListener(observable -> updateDrawerAnimation(initTranslate.get())); translateProperty.addListener((o, oldVal, newVal) -> { if (!openCalled && closeCalled && directionProperty.get().doubleValue() * newVal.doubleValue() > directionProperty.get().doubleValue() * initTranslate.get() / 2) { openCalled = true; closeCalled = false; translateProperty.addListener((o, oldVal, newVal) -> { if (openCalled && !closeCalled && directionProperty.get().doubleValue() * newVal.doubleValue() < directionProperty.get().doubleValue() * initTranslate.get() / 2) { closeCalled = true; openCalled = false; translateTo = initTranslate.get() + initOffset * directionProperty.get().doubleValue() + activeOffset * directionProperty.get().doubleValue();
final double sinRotAngle = Math.sin(rotationAngle.get()); final double cosRotAngle = Math.cos(rotationAngle.get()); final double startXR = cosRotAngle * diffStartCenterX - sinRotAngle * diffStartCenterY + centerX; final double startYR = sinRotAngle * diffStartCenterX + cosRotAngle * diffStartCenterY + centerY; curvedLine.setFill(Color.TRANSPARENT); curvedLine.setMouseTransparent(true); rotationAngle.addListener((o, oldVal, newVal) -> { final double newstartXR = ((cosRotAngle * diffStartCenterX) - (sinRotAngle * diffStartCenterY)) + centerX; final double newstartYR = (sinRotAngle * diffStartCenterX) + (cosRotAngle * diffStartCenterY) + centerY; final double curveTheta = 2 * curves.indexOf(curvedLine) * Math.PI / shapesNumber; curvedLine.controlX1Property().bind(Bindings.createDoubleBinding(() -> { final double a = firstCurve.getControlX1() - centerX; final double b = Math.sin(curveTheta) * (firstCurve.getControlY1() - centerY); curvedLine.controlY1Property().bind(Bindings.createDoubleBinding(() -> { final double a = Math.sin(curveTheta) * (firstCurve.getControlX1() - centerX); final double b = Math.cos(curveTheta) * (firstCurve.getControlY1() - centerY); curvedLine.controlX2Property().bind(Bindings.createDoubleBinding(() -> { final double a = firstCurve.getControlX2() - centerX; final double b = firstCurve.getControlY2() - centerY; curvedLine.controlY2Property().bind(Bindings.createDoubleBinding(() -> { final double a = Math.sin(curveTheta) * (firstCurve.getControlX2() - centerX); final double b = Math.cos(curveTheta) * (firstCurve.getControlY2() - centerY);
private void updateDrawerAnimation(double translation) { translateProperty.set(translation); translateTo = translation; }
StackPane.setMargin(arrowButton, new Insets(0, 0, 0, isLeftArrow ? -4 : 4)); DoubleProperty offsetProperty = new SimpleDoubleProperty(0); offsetProperty.addListener((o, oldVal, newVal) -> header.updateScrollOffset(newVal.doubleValue())); container.setCursor(Cursor.HAND); container.setOnMousePressed(press -> { offsetProperty.set(header.scrollOffset); double offset = isLeftArrow ? header.scrollOffset + header.headersRegion.getWidth() : header.scrollOffset - header.headersRegion .getWidth();
private final DoubleProperty doubleProperty = new SimpleDoubleProperty(); @FXML private Slider slider; @Override public void initialize(URL url, ResourceBundle rb) { doubleProperty.bind(slider.valueProperty()); //When you're in need to pass the primitive forward, get it from the property doubleProperty.get(); }