javafx.scene.text.Text#setStroke ( )源码实例Demo

下面列出了javafx.scene.text.Text#setStroke ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Rails   文件: FXStockToken.java
private void populate() {
    // fill the background
    Circle circle = new Circle();

    circle.centerXProperty().bind(Bindings.divide(widthProperty(), 2));
    circle.centerYProperty().bind(Bindings.divide(heightProperty(), 2));
    circle.radiusProperty().bind(Bindings.divide(widthProperty(), 2));

    circle.setFill(backgroundColor);

    Text text = new Text(name);

    text.setStroke(foregroundColor);
    text.setBoundsType(TextBoundsType.VISUAL);

    getChildren().addAll(circle, text);
}
 
源代码2 项目: FXGLGames   文件: GeoWarsApp.java
@Override
protected void initUI() {
    Text scoreText = getUIFactoryService().newText("", Color.WHITE, 28);
    scoreText.setTranslateX(60);
    scoreText.setTranslateY(70);
    scoreText.textProperty().bind(getip("score").asString());
    scoreText.setStroke(Color.GOLD);

    Text multText = getUIFactoryService().newText("", Color.WHITE, 28);
    multText.setTranslateX(60);
    multText.setTranslateY(90);
    multText.textProperty().bind(getip("multiplier").asString("x %d"));

    var livesText = getUIFactoryService().newText("", Color.WHITE, 24.0);
    livesText.setTranslateX(60);
    livesText.setTranslateY(110);
    livesText.textProperty().bind(getip("lives").asString("Lives: %d"));

    getGameScene().addUINodes(multText, scoreText, livesText);

    Text beware = getUIFactoryService().newText("Beware! Seekers get smarter every spawn!", Color.AQUA, 38);

    addUINode(beware);

    centerText(beware);

    animationBuilder()
            .duration(Duration.seconds(2))
            .autoReverse(true)
            .repeat(2)
            .fadeIn(beware)
            .buildAndPlay();
}
 
源代码3 项目: Medusa   文件: DigitalSkin.java
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);
        }
    }

    backgroundCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT);
    backgroundCtx    = backgroundCanvas.getGraphicsContext2D();
    
    barCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT);
    barCtx    = barCanvas.getGraphicsContext2D();

    valueBkgText = new Text();
    valueBkgText.setStroke(null);
    valueBkgText.setFill(Helper.getTranslucentColorFrom(valueColor, 0.1));

    valueText = new Text();
    valueText.setStroke(null);
    valueText.setFill(valueColor);
    Helper.enableNode(valueText, gauge.isValueVisible());

    pane = new Pane(backgroundCanvas, barCanvas, valueBkgText, valueText);
    pane.setBackground(new Background(new BackgroundFill(gauge.getBackgroundPaint(), new CornerRadii(1024), Insets.EMPTY)));
    pane.setBorder(new Border(new BorderStroke(gauge.getBorderPaint(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(gauge.getBorderWidth()))));

    getChildren().setAll(pane);
}
 
源代码4 项目: FXGLGames   文件: GeoWarsApp.java
@Override
protected void initUI() {
    Text scoreText = getUIFactoryService().newText("", Color.WHITE, 28);
    scoreText.setTranslateX(60);
    scoreText.setTranslateY(70);
    scoreText.textProperty().bind(getip("score").asString());
    scoreText.setStroke(Color.GOLD);

    Text multText = getUIFactoryService().newText("", Color.WHITE, 28);
    multText.setTranslateX(60);
    multText.setTranslateY(90);
    multText.textProperty().bind(getip("multiplier").asString("x %d"));

    var livesText = getUIFactoryService().newText("", Color.WHITE, 24.0);
    livesText.setTranslateX(60);
    livesText.setTranslateY(110);
    livesText.textProperty().bind(getip("lives").asString("Lives: %d"));

    getGameScene().addUINodes(multText, scoreText, livesText);

    Text beware = getUIFactoryService().newText("Beware! Seekers get smarter every spawn!", Color.AQUA, 38);

    addUINode(beware);

    centerText(beware);

    animationBuilder()
            .duration(Duration.seconds(2))
            .autoReverse(true)
            .repeat(2)
            .fadeIn(beware)
            .buildAndPlay();
}
 
源代码5 项目: FXTutorials   文件: MenuItem.java
public MenuItem(String name, int width) {
    setAlignment(Pos.CENTER_LEFT);

    text = new Text(name);
    text.setTranslateX(5);
    text.setFont(font);
    text.setFill(Colors.MENU_TEXT);
    text.setStroke(Color.BLACK);

    shadow = new DropShadow(5, Color.BLACK);
    text.setEffect(shadow);

    selection = new Rectangle(width - 45, 30);
    selection.setFill(Colors.MENU_ITEM_SELECTION);
    selection.setStroke(Color.BLACK);
    selection.setVisible(false);

    GaussianBlur blur = new GaussianBlur(8);
    selection.setEffect(blur);

    getChildren().addAll(selection, text);

    setOnMouseEntered(e -> {
        onSelect();
    });

    setOnMouseExited(e -> {
        onDeselect();
    });

    setOnMousePressed(e -> {
        text.setFill(Color.YELLOW);
    });
}
 
源代码6 项目: marathonv5   文件: TimelineEventsSample.java
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);
}
 
源代码7 项目: marathonv5   文件: TimelineEventsSample.java
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);
}
 
源代码8 项目: netbeans   文件: TimelineEvents.java
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);
}
 
源代码9 项目: FXGLGames   文件: GeoWarsApp.java
private void addScoreKill(Point2D enemyPosition) {
    inc("kills", +1);

    if (geti("kills") == 15) {
        set("kills", 0);
        inc("multiplier", +1);
    }

    final int multiplier = geti("multiplier");

    inc("score", +100*multiplier);

    var shadow = new DropShadow(25, Color.WHITE);

    Text bonusText = getUIFactoryService().newText("+100" + (multiplier == 1 ? "" : "x" + multiplier), Color.color(1, 1, 1, 0.8), 24);
    bonusText.setStroke(Color.GOLD);
    bonusText.setEffect(shadow);

    var e = entityBuilder()
            .at(enemyPosition)
            .view(bonusText)
            .buildAndAttach();

    animationBuilder()
            .onFinished(() -> e.removeFromWorld())
            .interpolator(Interpolators.EXPONENTIAL.EASE_OUT())
            .translate(e)
            .from(enemyPosition)
            .to(enemyPosition.subtract(0, 65))
            .buildAndPlay();

    animationBuilder()
            .duration(Duration.seconds(0.35))
            .autoReverse(true)
            .repeat(2)
            .interpolator(Interpolators.BOUNCE.EASE_IN())
            .scale(e)
            .from(new Point2D(1, 1))
            .to(new Point2D(1.2, 0.85))
            .buildAndPlay();
}
 
源代码10 项目: Medusa   文件: SimpleDigitalSkin.java
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);
        }
    }

    arcExtend = gauge.getArcExtend();

    backgroundCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT);
    backgroundCtx    = backgroundCanvas.getGraphicsContext2D();

    barCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT);
    barCtx    = barCanvas.getGraphicsContext2D();

    titleText = new Text(gauge.getTitle());
    titleText.setFill(gauge.getTitleColor());
    Helper.enableNode(titleText, !gauge.getTitle().isEmpty());

    valueBkgText = new Text();
    valueBkgText.setStroke(null);
    valueBkgText.setFill(Helper.getTranslucentColorFrom(valueColor, 0.1));
    Helper.enableNode(valueBkgText, gauge.isValueVisible());

    valueText = new Text();
    valueText.setStroke(null);
    valueText.setFill(valueColor);
    Helper.enableNode(valueText, gauge.isValueVisible());

    if (gauge.isGradientBarEnabled()) { setupGradient(); }

    pane = new Pane(backgroundCanvas, barCanvas, titleText, valueBkgText, valueText);
    pane.setBorder(new Border(new BorderStroke(gauge.getBorderPaint(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(gauge.getBorderWidth()))));
    pane.setBackground(new Background(new BackgroundFill(gauge.getBackgroundPaint(), new CornerRadii(1024), Insets.EMPTY)));

    getChildren().setAll(pane);
}
 
源代码11 项目: Medusa   文件: SimpleSectionSkin.java
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);
        }
    }

    sectionCanvas = new Canvas(PREFERRED_WIDTH, PREFERRED_HEIGHT);
    sectionCtx    = sectionCanvas.getGraphicsContext2D();

    barBackground = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.4, PREFERRED_HEIGHT * 0.4, gauge.getStartAngle() + 90, -ANGLE_RANGE);
    barBackground.setType(ArcType.OPEN);
    barBackground.setStroke(gauge.getBarBackgroundColor());
    barBackground.setStrokeWidth(PREFERRED_WIDTH * 0.125);
    barBackground.setStrokeLineCap(StrokeLineCap.BUTT);
    barBackground.setFill(null);

    bar = new Arc(PREFERRED_WIDTH * 0.5, PREFERRED_HEIGHT * 0.5, PREFERRED_WIDTH * 0.4, PREFERRED_HEIGHT * 0.4, gauge.getStartAngle() + 90, 0);
    bar.setType(ArcType.OPEN);
    bar.setStroke(gauge.getBarColor());
    bar.setStrokeWidth(PREFERRED_WIDTH * 0.125);
    bar.setStrokeLineCap(StrokeLineCap.BUTT);
    bar.setFill(null);

    titleText = new Text(gauge.getTitle());
    titleText.setFill(gauge.getTitleColor());
    Helper.enableNode(titleText, !gauge.getTitle().isEmpty());

    valueText = new Text();
    valueText.setStroke(null);
    valueText.setFill(gauge.getValueColor());
    Helper.enableNode(valueText, gauge.isValueVisible());

    unitText = new Text();
    unitText.setStroke(null);
    unitText.setFill(gauge.getUnitColor());
    Helper.enableNode(unitText, gauge.isValueVisible() && !gauge.getUnit().isEmpty());

    pane = new Pane(barBackground, sectionCanvas, titleText, valueText, unitText, bar);

    getChildren().setAll(pane);
}
 
源代码12 项目: FXGLGames   文件: GeoWarsApp.java
private void addScoreKill(Point2D enemyPosition) {
    inc("kills", +1);

    if (geti("kills") == 15) {
        set("kills", 0);
        inc("multiplier", +1);
    }

    final int multiplier = geti("multiplier");

    inc("score", +100*multiplier);

    var shadow = new DropShadow(25, Color.WHITE);

    Text bonusText = getUIFactoryService().newText("+100" + (multiplier == 1 ? "" : "x" + multiplier), Color.color(1, 1, 1, 0.8), 24);
    bonusText.setStroke(Color.GOLD);
    bonusText.setEffect(shadow);

    var e = entityBuilder()
            .at(enemyPosition)
            .view(bonusText)
            .buildAndAttach();

    animationBuilder()
            .onFinished(() -> e.removeFromWorld())
            .interpolator(Interpolators.EXPONENTIAL.EASE_OUT())
            .translate(e)
            .from(enemyPosition)
            .to(enemyPosition.subtract(0, 65))
            .buildAndPlay();

    animationBuilder()
            .duration(Duration.seconds(0.35))
            .autoReverse(true)
            .repeat(2)
            .interpolator(Interpolators.BOUNCE.EASE_IN())
            .scale(e)
            .from(new Point2D(1, 1))
            .to(new Point2D(1.2, 0.85))
            .buildAndPlay();
}