'StrokeType' enum define properties which specify where to draw the stroke around the boundary of a Shape node.
Following table summarizes possible values for strokeType.
Stroke Type |
Description |
INSIDE |
The stroke is applied by extending the boundary of a closed Shape node into its interior by a distance specified by the strokeWidth.
|
OUTSIDE
|
The stroke is applied by extending the boundary of a closed Shape node outside of its interior by a distance specified by the strokeWidth.
|
CENTERED
|
The stroke is applied by thickening the boundary of the Shape node by a distance of half of the strokeWidth on either side of the boundary.
|
Example
<Rectangle fx:id="rectangle" arcHeight="30" arcWidth="30" fill="black"
width="300" height="100" smooth="true" stroke="green" strokeWidth="5"
strokeType="inside"/>
Find the below working application.
HelloFxmlDemo.fxml
<?import javafx.scene.*?>
<?import javafx.scene.shape.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.text.*?>
<StackPane xmlns:fx="http://javafx.com/fxml" fx:controller="com.sample.app.controller.HelloWorldController">
<Rectangle fx:id="rectangle" arcHeight="30" arcWidth="30" fill="black"
width="300" height="100" smooth="true" stroke="green" strokeWidth="5"
strokeType="inside"/>
<Text fx:id = "text" fill="lightsalmon" text="Hello World" style="-fx-font-weight: bold; -fx-font-size: 30" />
</StackPane>
HelloWorldController.java
package com.sample.app.controller;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
public class HelloWorldController implements Initializable{
@FXML
private Rectangle rectangle;
@FXML
private Text text;
@Override
public void initialize(URL location, ResourceBundle resources) {
// Write custom logic here
}
}
HelloFXML.java
package com.sample.app;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class HelloFXML extends Application {
public static void main(String args[]) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Parent root = (Parent) FXMLLoader.load(HelloFXML.class.getResource("/HelloFxmlDemo.fxml"));
Scene scene = new Scene(root, 500, 500, Color.WHITE);
primaryStage.setTitle("StackPane Demo");
primaryStage.setScene(scene);
primaryStage.show();
}
}
Output
No comments:
Post a Comment