Search in sources :

Example 11 with Circle

use of javafx.scene.shape.Circle in project Gargoyle by callakrsos.

the class MarkedLineNumberFactory method defaultGraphicsMapperFactory.

/**
	 *  default
	 * mark표시를 하기위한 라인 색 표시
	 * @작성자 : KYJ
	 * @작성일 : 2016. 10. 13.
	 * @return
	 */
public GraphicsMapper<Node> defaultGraphicsMapperFactory() {
    return new GraphicsMapper<Node>() {

        @Override
        public Node map(int row, Paragraph<?, ?> pra, int typeValue) {
            Circle g = new Circle(5d);
            g.setStyle("-fx-fill:transparent");
            if (typeValue == 1)
                g.setStyle(ADDED_COMMNET_STYLE);
            return g;
        }
    };
}
Also used : Circle(javafx.scene.shape.Circle) Paragraph(org.fxmisc.richtext.Paragraph)

Example 12 with Circle

use of javafx.scene.shape.Circle in project Gargoyle by callakrsos.

the class SVNViewer method setDataNode.

private void setDataNode(SVNLogEntry entry, Data<String, String> data) {
    Group group = new Group();
    group.setManaged(false);
    Text value = new Text(entry.getRevision() + "");
    value.setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT);
    value.translateYProperty().set(-15);
    Circle circle = new Circle(4, Color.WHITE);
    circle.setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT);
    circle.setStroke(Color.web("#f3622d"));
    StackPane stackPane = new StackPane(value, circle);
    stackPane.setPrefSize(30, 60);
    group.getChildren().add(stackPane);
    data.setNode(group);
}
Also used : Group(javafx.scene.Group) Circle(javafx.scene.shape.Circle) Text(javafx.scene.text.Text) StackPane(javafx.scene.layout.StackPane)

Example 13 with Circle

use of javafx.scene.shape.Circle in project JFoenix by jfoenixadmin.

the class JFXTimePickerContent method createMinutesContent.

private StackPane createMinutesContent(LocalTime time) {
    // create minutes content
    StackPane minsPointer = new StackPane();
    Circle selectionCircle = new Circle(contentCircleRadius / 6);
    selectionCircle.fillProperty().bind(timePicker.defaultColorProperty());
    Circle minCircle = new Circle(selectionCircle.getRadius() / 8);
    minCircle.setFill(Color.rgb(255, 255, 255, 0.87));
    minCircle.setTranslateX(selectionCircle.getRadius() - minCircle.getRadius());
    minCircle.setVisible(time.getMinute() % 5 != 0);
    selectedMinLabel.textProperty().addListener((o, oldVal, newVal) -> {
        if (Integer.parseInt(newVal) % 5 == 0)
            minCircle.setVisible(false);
        else
            minCircle.setVisible(true);
    });
    double shift = 9;
    Line line = new Line(shift, 0, contentCircleRadius, 0);
    line.fillProperty().bind(timePicker.defaultColorProperty());
    line.strokeProperty().bind(line.fillProperty());
    line.setStrokeWidth(1.5);
    minsPointer.getChildren().addAll(line, selectionCircle, minCircle);
    StackPane.setAlignment(selectionCircle, Pos.CENTER_LEFT);
    StackPane.setAlignment(minCircle, Pos.CENTER_LEFT);
    Group pointerGroup = new Group();
    pointerGroup.getChildren().add(minsPointer);
    pointerGroup.setTranslateX((-contentCircleRadius + shift) / 2);
    minsPointerRotate = new Rotate(0, contentCircleRadius - shift, selectionCircle.getRadius());
    pointerGroup.getTransforms().add(minsPointerRotate);
    Pane clockLabelsContainer = new Pane();
    // inner circle radius
    double radius = contentCircleRadius - shift - selectionCircle.getRadius();
    for (int i = 0; i < 12; i++) {
        StackPane labelContainer = new StackPane();
        int val = ((i + 3) * 5) % 60 == 0 ? 0 : ((i + 3) * 5) % 60;
        Label label = new Label(unitConverter.toString(val) + "");
        label.setFont(Font.font("Roboto", FontWeight.BOLD, 12));
        // init label color
        if (val == time.getMinute())
            label.setTextFill(Color.rgb(255, 255, 255, 0.87));
        else
            label.setTextFill(Color.rgb(0, 0, 0, 0.87));
        selectedMinLabel.textProperty().addListener((o, oldVal, newVal) -> {
            if (Integer.parseInt(newVal) == Integer.parseInt(label.getText())) {
                label.setTextFill(Color.rgb(255, 255, 255, 0.87));
            } else {
                label.setTextFill(Color.rgb(0, 0, 0, 0.87));
            }
        });
        labelContainer.getChildren().add(label);
        double labelSize = (selectionCircle.getRadius() / Math.sqrt(2)) * 2;
        labelContainer.setMinSize(labelSize, labelSize);
        double angle = 2 * i * Math.PI / 12;
        double xOffset = radius * Math.cos(angle);
        double yOffset = radius * Math.sin(angle);
        final double startx = contentCircleRadius + xOffset;
        final double starty = contentCircleRadius + yOffset;
        labelContainer.setLayoutX(startx - labelContainer.getMinWidth() / 2);
        labelContainer.setLayoutY(starty - labelContainer.getMinHeight() / 2);
        // add label to the parent node
        clockLabelsContainer.getChildren().add(labelContainer);
    }
    minsPointerRotate.setAngle(180 + (time.getMinute() + 45) % 60 * Math.toDegrees(2 * Math.PI / 60));
    return new StackPane(pointerGroup, clockLabelsContainer);
}
Also used : Line(javafx.scene.shape.Line) Circle(javafx.scene.shape.Circle) Group(javafx.scene.Group) Rotate(javafx.scene.transform.Rotate) Label(javafx.scene.control.Label) Paint(javafx.scene.paint.Paint)

Aggregations

Circle (javafx.scene.shape.Circle)13 Label (javafx.scene.control.Label)5 Line (javafx.scene.shape.Line)5 Text (javafx.scene.text.Text)5 Group (javafx.scene.Group)4 Paint (javafx.scene.paint.Paint)3 Rectangle (javafx.scene.shape.Rectangle)3 Shape (javafx.scene.shape.Shape)3 Font (javafx.scene.text.Font)3 Rotate (javafx.scene.transform.Rotate)3 Point2D (aima.core.util.math.geom.shapes.Point2D)2 Insets (javafx.geometry.Insets)2 Node (javafx.scene.Node)2 StackPane (javafx.scene.layout.StackPane)2 Color (javafx.scene.paint.Color)2 Agent (aima.core.agent.Agent)1 Map (aima.core.environment.map.Map)1 JFXTimePicker (com.jfoenix.controls.JFXTimePicker)1 URL (java.net.URL)1 LocalDate (java.time.LocalDate)1