Java Code Examples for javafx.scene.shape.Circle#setEffect()
The following examples show how to use
javafx.scene.shape.Circle#setEffect() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: InterpolatorSample.java From marathonv5 with Apache License 2.0 | 6 votes |
private Circle createMovingCircle(Interpolator interpolator, Color color){ Circle circle = new Circle(25,25,35,color); circle.setOpacity(0.0); //add effect circle.setEffect(new Lighting()); //create a timeline for moving the circle timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //create a keyValue for horizontal translation of circle to the position 155px with given interpolator KeyValue keyValue = new KeyValue(circle.translateXProperty(), 155, interpolator); //create a keyFrame with duration 4s KeyFrame keyFrame = new KeyFrame(Duration.seconds(4), keyValue); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); return circle; }
Example 2
Source File: LedTileSkin.java From tilesfx with Apache License 2.0 | 6 votes |
@Override protected void initGraphics() { super.initGraphics(); titleText = new Text(); titleText.setFill(tile.getTitleColor()); Helper.enableNode(titleText, !tile.getTitle().isEmpty()); text = new Text(tile.getText()); text.setFill(tile.getUnitColor()); Helper.enableNode(text, tile.isTextVisible()); description = new Label(tile.getDescription()); description.setAlignment(tile.getDescriptionAlignment()); description.setWrapText(true); description.setTextFill(tile.getTextColor()); Helper.enableNode(description, !tile.getDescription().isEmpty()); ledBorder = new Circle(); led = new Circle(); hightlight = new Circle(); innerShadow = new InnerShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.65), 0.07 * size, 0, 0, 0); led.setEffect(innerShadow); getPane().getChildren().addAll(titleText, text, description, ledBorder, led, hightlight); }
Example 3
Source File: TimelineInterpolator.java From netbeans with Apache License 2.0 | 6 votes |
private Circle createMovingCircle(Interpolator interpolator) { //create a transparent circle Circle circle = new Circle(45,45, 40, Color.web("1c89f4")); circle.setOpacity(0); //add effect circle.setEffect(new Lighting()); //create a timeline for moving the circle timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //create a keyValue for horizontal translation of circle to the position 155px with given interpolator KeyValue keyValue = new KeyValue(circle.translateXProperty(), 155, interpolator); //create a keyFrame with duration 4s KeyFrame keyFrame = new KeyFrame(Duration.seconds(4), keyValue); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); return circle; }
Example 4
Source File: InterpolatorSample.java From marathonv5 with Apache License 2.0 | 6 votes |
private Circle createMovingCircle(Interpolator interpolator, Color color){ Circle circle = new Circle(25,25,35,color); circle.setOpacity(0.0); //add effect circle.setEffect(new Lighting()); //create a timeline for moving the circle timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //create a keyValue for horizontal translation of circle to the position 155px with given interpolator KeyValue keyValue = new KeyValue(circle.translateXProperty(), 155, interpolator); //create a keyFrame with duration 4s KeyFrame keyFrame = new KeyFrame(Duration.seconds(4), keyValue); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); return circle; }
Example 5
Source File: CircleSample.java From marathonv5 with Apache License 2.0 | 5 votes |
public static Node createIconContent() { Circle circle = new Circle(57,57,40); circle.setStroke(Color.web("#b9c0c5")); circle.setStrokeWidth(5); circle.getStrokeDashArray().addAll(15d,15d); circle.setFill(null); javafx.scene.effect.InnerShadow effect = new javafx.scene.effect.InnerShadow(); effect.setOffsetX(1); effect.setOffsetY(1); effect.setRadius(3); effect.setColor(Color.rgb(0,0,0,0.6)); circle.setEffect(effect); return circle; }
Example 6
Source File: TimelineSample.java From marathonv5 with Apache License 2.0 | 5 votes |
public TimelineSample() { super(280,120); //create a circle final Circle circle = new Circle(25,25, 20, Color.web("1c89f4")); circle.setEffect(new Lighting()); //create a timeline for moving the circle timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //one can start/pause/stop/play animation by //timeline.play(); //timeline.pause(); //timeline.stop(); //timeline.playFromStart(); //add the following keyframes to the timeline timeline.getKeyFrames().addAll (new KeyFrame(Duration.ZERO, new KeyValue(circle.translateXProperty(), 0)), new KeyFrame(new Duration(4000), new KeyValue(circle.translateXProperty(), 205))); getChildren().add(createNavigation()); getChildren().add(circle); // REMOVE ME setControls( new SimplePropertySheet.PropDesc("Timeline rate", timeline.rateProperty(), -4d, 4d) //TODO it is possible to do it for integer? ); // END REMOVE ME }
Example 7
Source File: CircleSample.java From marathonv5 with Apache License 2.0 | 5 votes |
public static Node createIconContent() { Circle circle = new Circle(57,57,40); circle.setStroke(Color.web("#b9c0c5")); circle.setStrokeWidth(5); circle.getStrokeDashArray().addAll(15d,15d); circle.setFill(null); javafx.scene.effect.InnerShadow effect = new javafx.scene.effect.InnerShadow(); effect.setOffsetX(1); effect.setOffsetY(1); effect.setRadius(3); effect.setColor(Color.rgb(0,0,0,0.6)); circle.setEffect(effect); return circle; }
Example 8
Source File: TimelineSample.java From marathonv5 with Apache License 2.0 | 5 votes |
public TimelineSample() { super(280,120); //create a circle final Circle circle = new Circle(25,25, 20, Color.web("1c89f4")); circle.setEffect(new Lighting()); //create a timeline for moving the circle timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //one can start/pause/stop/play animation by //timeline.play(); //timeline.pause(); //timeline.stop(); //timeline.playFromStart(); //add the following keyframes to the timeline timeline.getKeyFrames().addAll (new KeyFrame(Duration.ZERO, new KeyValue(circle.translateXProperty(), 0)), new KeyFrame(new Duration(4000), new KeyValue(circle.translateXProperty(), 205))); getChildren().add(createNavigation()); getChildren().add(circle); // REMOVE ME setControls( new SimplePropertySheet.PropDesc("Timeline rate", timeline.rateProperty(), -4d, 4d) //TODO it is possible to do it for integer? ); // END REMOVE ME }
Example 9
Source File: Switch.java From tilesfx with Apache License 2.0 | 5 votes |
private void initGraphics() { if (Double.compare(getPrefWidth(), 0.0) <= 0 || Double.compare(getPrefHeight(), 0.0) <= 0 || Double.compare(getWidth(), 0.0) <= 0 || Double.compare(getHeight(), 0.0) <= 0) { if (getPrefWidth() > 0 && getPrefHeight() > 0) { setPrefSize(getPrefWidth(), getPrefHeight()); } else { setPrefSize(PREFERRED_WIDTH, PREFERRED_HEIGHT); } } getStyleClass().add("switch"); shadow = new DropShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.65), 3, 0, 0, 0); switchBorder = new Rectangle(); switchBorder.setFill(getForegroundColor()); switchBackground = new Rectangle(); switchBackground.setMouseTransparent(true); switchBackground.setFill(isActive() ? getActiveColor() : getBackgroundColor()); thumb = new Circle(); thumb.setMouseTransparent(true); thumb.setFill(getForegroundColor()); thumb.setEffect(shadow); pane = new Pane(switchBorder, switchBackground, thumb); getChildren().setAll(pane); }
Example 10
Source File: IOSApp.java From mars-sim with GNU General Public License v3.0 | 5 votes |
public ToggleSwitch() { Rectangle background = new Rectangle(100, 50); background.setArcWidth(50); background.setArcHeight(50); background.setFill(Color.WHITE); background.setStroke(Color.LIGHTGRAY); Circle trigger = new Circle(25); trigger.setCenterX(25); trigger.setCenterY(25); trigger.setFill(Color.WHITE); trigger.setStroke(Color.LIGHTGRAY); DropShadow shadow = new DropShadow(); shadow.setRadius(2); trigger.setEffect(shadow); translateAnimation.setNode(trigger); fillAnimation.setShape(background); getChildren().addAll(background, trigger); switchedOn.addListener((obs, oldState, newState) -> { boolean isOn = newState.booleanValue(); translateAnimation.setToX(isOn ? 100 - 50 : 0); fillAnimation.setFromValue(isOn ? Color.WHITE : Color.LIGHTGREEN); fillAnimation.setToValue(isOn ? Color.LIGHTGREEN : Color.WHITE); animation.play(); }); setOnMouseClicked(event -> { switchedOn.set(!switchedOn.get()); }); }
Example 11
Source File: IOSApp.java From FXTutorials with MIT License | 5 votes |
public ToggleSwitch() { Rectangle background = new Rectangle(100, 50); background.setArcWidth(50); background.setArcHeight(50); background.setFill(Color.WHITE); background.setStroke(Color.LIGHTGRAY); Circle trigger = new Circle(25); trigger.setCenterX(25); trigger.setCenterY(25); trigger.setFill(Color.WHITE); trigger.setStroke(Color.LIGHTGRAY); DropShadow shadow = new DropShadow(); shadow.setRadius(2); trigger.setEffect(shadow); translateAnimation.setNode(trigger); fillAnimation.setShape(background); getChildren().addAll(background, trigger); switchedOn.addListener((obs, oldState, newState) -> { boolean isOn = newState.booleanValue(); translateAnimation.setToX(isOn ? 100 - 50 : 0); fillAnimation.setFromValue(isOn ? Color.WHITE : Color.LIGHTGREEN); fillAnimation.setToValue(isOn ? Color.LIGHTGREEN : Color.WHITE); animation.play(); }); setOnMouseClicked(event -> { switchedOn.set(!switchedOn.get()); }); }
Example 12
Source File: TimelineEventsSample.java From marathonv5 with Apache License 2.0 | 4 votes |
public TimelineEventsSample() { super(70,70); //create a circle with effect final Circle circle = new Circle(20, Color.rgb(156,216,255)); circle.setEffect(new Lighting()); //create a text inside a circle final Text text = new Text (i.toString()); text.setStroke(Color.BLACK); //create a layout for circle with text inside final StackPane stack = new StackPane(); stack.getChildren().addAll(circle, text); stack.setLayoutX(30); stack.setLayoutY(30); //create a timeline for moving the circle timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //one can add a specific action when each frame is started. There are one or more frames during // executing one KeyFrame depending on set Interpolator. timer = new AnimationTimer() { @Override public void handle(long l) { text.setText(i.toString()); i++; } }; //create a keyValue with factory: scaling the circle 2times KeyValue keyValueX = new KeyValue(stack.scaleXProperty(), 2); KeyValue keyValueY = new KeyValue(stack.scaleYProperty(), 2); //create a keyFrame, the keyValue is reached at time 2s Duration duration = Duration.seconds(2); //one can add a specific action when the keyframe is reached EventHandler<ActionEvent> onFinished = new EventHandler<ActionEvent>() { public void handle(ActionEvent t) { stack.setTranslateX(java.lang.Math.random()*200-100); //reset counter i = 0; } }; KeyFrame keyFrame = new KeyFrame(duration, onFinished , keyValueX, keyValueY); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); getChildren().add(stack); }
Example 13
Source File: TimelineEventsSample.java From marathonv5 with Apache License 2.0 | 4 votes |
public TimelineEventsSample() { super(70,70); //create a circle with effect final Circle circle = new Circle(20, Color.rgb(156,216,255)); circle.setEffect(new Lighting()); //create a text inside a circle final Text text = new Text (i.toString()); text.setStroke(Color.BLACK); //create a layout for circle with text inside final StackPane stack = new StackPane(); stack.getChildren().addAll(circle, text); stack.setLayoutX(30); stack.setLayoutY(30); //create a timeline for moving the circle timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //one can add a specific action when each frame is started. There are one or more frames during // executing one KeyFrame depending on set Interpolator. timer = new AnimationTimer() { @Override public void handle(long l) { text.setText(i.toString()); i++; } }; //create a keyValue with factory: scaling the circle 2times KeyValue keyValueX = new KeyValue(stack.scaleXProperty(), 2); KeyValue keyValueY = new KeyValue(stack.scaleYProperty(), 2); //create a keyFrame, the keyValue is reached at time 2s Duration duration = Duration.seconds(2); //one can add a specific action when the keyframe is reached EventHandler<ActionEvent> onFinished = new EventHandler<ActionEvent>() { public void handle(ActionEvent t) { stack.setTranslateX(java.lang.Math.random()*200-100); //reset counter i = 0; } }; KeyFrame keyFrame = new KeyFrame(duration, onFinished , keyValueX, keyValueY); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); getChildren().add(stack); }
Example 14
Source File: TimelineEvents.java From netbeans with Apache License 2.0 | 4 votes |
private void init(Stage primaryStage) { Group root = new Group(); primaryStage.setResizable(false); primaryStage.setScene(new Scene(root, 260,100)); //create a circle with effect final Circle circle = new Circle(20, Color.rgb(156,216,255)); circle.setEffect(new Lighting()); //create a text inside a circle final Text text = new Text (i.toString()); text.setStroke(Color.BLACK); //create a layout for circle with text inside final StackPane stack = new StackPane(); stack.getChildren().addAll(circle, text); stack.setLayoutX(30); stack.setLayoutY(30); //create a timeline for moving the circle timeline = new Timeline(); timeline.setCycleCount(Timeline.INDEFINITE); timeline.setAutoReverse(true); //one can add a specific action when each frame is started. There are one or more frames during // executing one KeyFrame depending on set Interpolator. timer = new AnimationTimer() { @Override public void handle(long l) { text.setText(i.toString()); i++; } }; //create a keyValue with factory: scaling the circle 2times KeyValue keyValueX = new KeyValue(stack.scaleXProperty(), 2); KeyValue keyValueY = new KeyValue(stack.scaleYProperty(), 2); //create a keyFrame, the keyValue is reached at time 2s Duration duration = Duration.seconds(2); //one can add a specific action when the keyframe is reached EventHandler<ActionEvent> onFinished = new EventHandler<ActionEvent>() { public void handle(ActionEvent t) { stack.setTranslateX(java.lang.Math.random()*200); //reset counter i = 0; } }; KeyFrame keyFrame = new KeyFrame(duration, onFinished , keyValueX, keyValueY); //add the keyframe to the timeline timeline.getKeyFrames().add(keyFrame); root.getChildren().add(stack); }
Example 15
Source File: SwitchTileSkin.java From OEE-Designer with MIT License | 4 votes |
@SuppressWarnings("rawtypes") @Override protected void initGraphics() { super.initGraphics(); mouseEventHandler = e -> { final EventType TYPE = e.getEventType(); if (MouseEvent.MOUSE_PRESSED == TYPE) { tile.setActive(!tile.isActive()); tile.fireEvent(SWITCH_PRESSED); } else if(MouseEvent.MOUSE_RELEASED == TYPE) { tile.fireEvent(SWITCH_RELEASED); } }; selectedListener = o -> moveThumb(); timeline = new Timeline(); titleText = new Text(); titleText.setFill(tile.getTitleColor()); Helper.enableNode(titleText, !tile.getTitle().isEmpty()); text = new Text(tile.getText()); text.setFill(tile.getUnitColor()); Helper.enableNode(text, tile.isTextVisible()); description = new Label(tile.getDescription()); description.setAlignment(tile.getDescriptionAlignment()); description.setWrapText(true); description.setTextFill(tile.getTextColor()); Helper.enableNode(description, !tile.getDescription().isEmpty()); switchBorder = new Rectangle(); switchBackground = new Rectangle(); switchBackground.setMouseTransparent(true); switchBackground.setFill(tile.isActive() ? tile.getActiveColor() : tile.getBackgroundColor()); thumb = new Circle(); thumb.setMouseTransparent(true); thumb.setEffect(shadow); getPane().getChildren().addAll(titleText, text, description, switchBorder, switchBackground, thumb); }
Example 16
Source File: SwitchTileSkin.java From tilesfx with Apache License 2.0 | 4 votes |
@Override protected void initGraphics() { super.initGraphics(); mouseEventHandler = e -> { if (!tile.isInteractive()) { return; } final EventType TYPE = e.getEventType(); if (MouseEvent.MOUSE_PRESSED == TYPE) { tile.setActive(!tile.isActive()); tile.fireEvent(SWITCH_PRESSED); } else if(MouseEvent.MOUSE_RELEASED == TYPE) { tile.fireEvent(SWITCH_RELEASED); } }; selectedListener = o -> moveThumb(); timeline = new Timeline(); titleText = new Text(); titleText.setFill(tile.getTitleColor()); Helper.enableNode(titleText, !tile.getTitle().isEmpty()); text = new Text(tile.getText()); text.setFill(tile.getUnitColor()); Helper.enableNode(text, tile.isTextVisible()); description = new Label(tile.getDescription()); description.setAlignment(tile.getDescriptionAlignment()); description.setWrapText(true); description.setTextFill(tile.getTextColor()); Helper.enableNode(description, !tile.getDescription().isEmpty()); switchBorder = new Rectangle(); switchBackground = new Rectangle(); switchBackground.setMouseTransparent(true); switchBackground.setFill(tile.isActive() ? tile.getActiveColor() : tile.getBackgroundColor()); thumb = new Circle(); thumb.setMouseTransparent(true); thumb.setEffect(shadow); getPane().getChildren().addAll(titleText, text, description, switchBorder, switchBackground, thumb); }
Example 17
Source File: DBClockSkin.java From Medusa with Apache License 2.0 | 4 votes |
@Override protected void initGraphics() { // Set initial size if (Double.compare(clock.getPrefWidth(), 0.0) <= 0 || Double.compare(clock.getPrefHeight(), 0.0) <= 0 || Double.compare(clock.getWidth(), 0.0) <= 0 || Double.compare(clock.getHeight(), 0.0) <= 0) { if (clock.getPrefWidth() > 0 && clock.getPrefHeight() > 0) { clock.setPrefSize(clock.getPrefWidth(), clock.getPrefHeight()); } else { clock.setPrefSize(PREFERRED_WIDTH, PREFERRED_HEIGHT); } } sectionsAndAreasCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT); sectionsAndAreasCtx = sectionsAndAreasCanvas.getGraphicsContext2D(); tickCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT); tickCtx = tickCanvas.getGraphicsContext2D(); alarmPane = new Pane(); hour = new Rectangle(3, 60); hour.setArcHeight(3); hour.setArcWidth(3); hour.setStroke(null); hour.setFill(clock.getHourColor()); hour.getTransforms().setAll(hourRotate); minute = new Rectangle(3, 96); minute.setArcHeight(3); minute.setArcWidth(3); minute.setStroke(null); minute.setFill(clock.getMinuteColor()); minute.getTransforms().setAll(minuteRotate); second = new Path(); second.setFillRule(FillRule.EVEN_ODD); second.setStroke(null); second.setFill(clock.getSecondColor()); second.getTransforms().setAll(secondRotate); enableNode(second, clock.isSecondsVisible()); dropShadow = new DropShadow(); dropShadow.setColor(Color.rgb(0, 0, 0, 0.25)); dropShadow.setBlurType(BlurType.TWO_PASS_BOX); dropShadow.setRadius(0.015 * PREFERRED_WIDTH); dropShadow.setOffsetY(0.015 * PREFERRED_WIDTH); knob = new Circle(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, 4.5); knob.setStroke(null); knob.setFill(clock.getKnobColor()); knob.setEffect(dropShadow); shadowGroupHour = new Group(hour); shadowGroupMinute = new Group(minute); shadowGroupSecond = new Group(second); shadowGroupHour.setEffect(clock.getShadowsEnabled() ? dropShadow : null); shadowGroupMinute.setEffect(clock.getShadowsEnabled() ? dropShadow : null); shadowGroupSecond.setEffect(clock.getShadowsEnabled() ? dropShadow : null); title = new Text(""); title.setVisible(clock.isTitleVisible()); title.setManaged(clock.isTitleVisible()); text = new Text(""); text.setVisible(clock.isTextVisible()); text.setManaged(clock.isTextVisible()); pane = new Pane(sectionsAndAreasCanvas, tickCanvas, alarmPane, title, text, shadowGroupHour, shadowGroupMinute, shadowGroupSecond, knob); pane.setBorder(new Border(new BorderStroke(clock.getBorderPaint(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(clock.getBorderWidth())))); pane.setBackground(new Background(new BackgroundFill(clock.getBackgroundPaint(), new CornerRadii(1024), Insets.EMPTY))); getChildren().setAll(pane); }
Example 18
Source File: BarSkin.java From Medusa with Apache License 2.0 | 4 votes |
private void initGraphics() { // Set initial size if (Double.compare(gauge.getPrefWidth(), 0.0) <= 0 || Double.compare(gauge.getPrefHeight(), 0.0) <= 0 || Double.compare(gauge.getWidth(), 0.0) <= 0 || Double.compare(gauge.getHeight(), 0.0) <= 0) { if (gauge.getPrefWidth() > 0 && gauge.getPrefHeight() > 0) { gauge.setPrefSize(gauge.getPrefWidth(), gauge.getPrefHeight()); } else { gauge.setPrefSize(PREFERRED_WIDTH, PREFERRED_HEIGHT); } } Color barColor = gauge.getBarColor(); gauge.setGradientBarStops(new Stop(0.0, barColor), new Stop(0.01, barColor), new Stop(0.75, barColor.deriveColor(-10, 1, 1, 1)), new Stop(1.0, barColor.deriveColor(-20, 1, 1, 1))); shadow = new DropShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.45), 0.01 * PREFERRED_WIDTH, 0, 0.01 * PREFERRED_WIDTH, 0); circle = new Circle(); circle.setFill(null); arc = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.96, PREFERRED_WIDTH * 0.48, 90, 0); arc.setStrokeWidth(PREFERRED_WIDTH * 0.008); arc.setStrokeType(StrokeType.CENTERED); arc.setStrokeLineCap(StrokeLineCap.ROUND); arc.setFill(null); fakeDot = new Circle(); fakeDot.setStroke(null); dot = new Circle(); dot.setStroke(null); dot.setVisible(false); dot.setEffect(shadow); titleText = new Text(gauge.getTitle()); titleText.setFont(Fonts.robotoLight(PREFERRED_WIDTH * 0.5)); titleText.setFill(gauge.getTitleColor()); Helper.enableNode(titleText, !gauge.getTitle().isEmpty()); valueText = new Text(formatNumber(gauge.getLocale(), gauge.getFormatString(), gauge.getDecimals(), gauge.getCurrentValue())); valueText.setFont(Fonts.robotoRegular(PREFERRED_WIDTH * 0.27333)); valueText.setFill(gauge.getValueColor()); Helper.enableNode(valueText, gauge.isValueVisible()); unitText = new Text(gauge.getUnit()); unitText.setFont(Fonts.robotoLight(PREFERRED_WIDTH * 0.08)); unitText.setFill(gauge.getUnitColor()); Helper.enableNode(unitText, !gauge.getUnit().isEmpty()); pane = new Pane(circle, arc, fakeDot, dot, titleText, valueText, unitText); getChildren().setAll(pane); }
Example 19
Source File: HeatControlSkin.java From Enzo with Apache License 2.0 | 4 votes |
private void initGraphics() { innerShadow = new InnerShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.65), PREFERRED_HEIGHT * 0.1, 0, 0, 0); Color color = gradientLookup.getColorAt(getSkinnable().getValue() / (getSkinnable().getMaxValue() - getSkinnable().getMinValue())); background = new Circle(0.5 * PREFERRED_WIDTH, 0.5 * PREFERRED_HEIGHT, 0.5 * PREFERRED_WIDTH); background.setFill(new LinearGradient(0, 0, 0, PREFERRED_HEIGHT, false, CycleMethod.NO_CYCLE, new Stop(0, color.deriveColor(0, 1, 0.8, 1)), new Stop(1, color.deriveColor(0, 1, 0.6, 1)))); background.setEffect(innerShadow); ticksCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT); ticksCanvas.setMouseTransparent(true); ticks = ticksCanvas.getGraphicsContext2D(); targetIndicator = new Region(); targetIndicator.getStyleClass().setAll("target-indicator"); targetIndicatorRotate = new Rotate(180 - getSkinnable().getStartAngle() - getSkinnable().getMinValue() * angleStep); targetIndicator.getTransforms().setAll(targetIndicatorRotate); targetExceeded = false; targetIndicator.setVisible(getSkinnable().isTargetEnabled()); valueIndicator = new Region(); valueIndicator.getStyleClass().setAll("value-indicator"); valueIndicatorRotate = new Rotate(180 - getSkinnable().getStartAngle()); valueIndicatorRotate.setAngle(valueIndicatorRotate.getAngle() + (getSkinnable().getValue() - getSkinnable().getOldValue() - getSkinnable().getMinValue()) * angleStep); valueIndicator.getTransforms().setAll(valueIndicatorRotate); infoText = new Text(getSkinnable().getInfoText().toUpperCase()); infoText.setTextOrigin(VPos.CENTER); infoText.setFont(Fonts.opensansSemiBold(0.06 * PREFERRED_HEIGHT)); infoText.setMouseTransparent(true); infoText.getStyleClass().setAll("info-text"); value = new Text(String.format(Locale.US, "%." + getSkinnable().getDecimals() + "f", getSkinnable().getValue())); value.setMouseTransparent(true); value.setTextOrigin(VPos.CENTER); value.setFont(Fonts.opensansBold(0.32 * PREFERRED_HEIGHT)); value.setMouseTransparent(true); value.getStyleClass().setAll("value"); // Add all nodes pane = new Pane(); pane.getChildren().setAll(background, ticksCanvas, valueIndicator, targetIndicator, infoText, value); getChildren().setAll(pane); }
Example 20
Source File: FGauge.java From Medusa with Apache License 2.0 | 3 votes |
private void initGraphics() { innerShadow = new InnerShadow(BlurType.TWO_PASS_BOX, Color.rgb(0, 0, 0, 0.35), 20, 0.0, 0, 20); frame = new Region(); background = new Circle(); background.setEffect(innerShadow); foreground = new Circle(); foreground.setMouseTransparent(true); getChildren().setAll(frame, background, gauge, foreground); }