Search in sources :

Example 1 with Label

use of javafx.scene.control.Label in project JFoenix by jfoenixadmin.

the class JFXTimePickerContent method createHeaderPane.

/*
	 * header panel represents the selected Time 
	 * we keep javaFX original style classes 
	 */
protected StackPane createHeaderPane(LocalTime time) {
    int hour = time.getHour();
    selectedHourLabel.setText((hour % 12 == 0 ? 12 : hour % 12) + "");
    selectedHourLabel.getStyleClass().add("spinner-label");
    selectedHourLabel.setTextFill(Color.WHITE);
    selectedHourLabel.setFont(Font.font("Roboto", FontWeight.BOLD, 42));
    selectedHourLabel.setOnMouseClicked((click) -> unit.set(TimeUnit.HOURS));
    selectedHourLabel.setMinWidth(49);
    selectedHourLabel.setAlignment(Pos.CENTER_RIGHT);
    timeLabel.set(selectedHourLabel);
    selectedMinLabel.setText(unitConverter.toString(time.getMinute()) + "");
    selectedMinLabel.getStyleClass().add("spinner-label");
    selectedMinLabel.setTextFill(fadedColor);
    selectedMinLabel.setFont(Font.font("Roboto", FontWeight.BOLD, 42));
    selectedMinLabel.setOnMouseClicked((click) -> unit.set(TimeUnit.MINUTES));
    Label separatorLabel = new Label(":");
    separatorLabel.setPadding(new Insets(0, 0, 4, 0));
    separatorLabel.setTextFill(fadedColor);
    separatorLabel.setFont(Font.font("Roboto", FontWeight.BOLD, 42));
    periodPMLabel = new Label("PM");
    periodPMLabel.getStyleClass().add("spinner-label");
    periodPMLabel.setTextFill(fadedColor);
    periodPMLabel.setFont(Font.font("Roboto", FontWeight.BOLD, 14));
    periodPMLabel.setOnMouseClicked((click) -> period.set("PM"));
    periodAMLabel = new Label("AM");
    periodAMLabel.getStyleClass().add("spinner-label");
    periodAMLabel.setTextFill(fadedColor);
    periodAMLabel.setFont(Font.font("Roboto", FontWeight.BOLD, 14));
    periodAMLabel.setOnMouseClicked((click) -> period.set("AM"));
    // init period value
    if (hour < 12)
        periodAMLabel.setTextFill(Color.WHITE);
    else
        periodPMLabel.setTextFill(Color.WHITE);
    period.set(hour < 12 ? "AM" : "PM");
    VBox periodContainer = new VBox();
    periodContainer.setPadding(new Insets(0, 0, 0, 4));
    periodContainer.getChildren().addAll(periodAMLabel, periodPMLabel);
    // Year label container
    HBox selectedTimeContainer = new HBox();
    selectedTimeContainer.getStyleClass().add("spinner");
    selectedTimeContainer.getChildren().addAll(selectedHourLabel, separatorLabel, selectedMinLabel, periodContainer);
    selectedTimeContainer.setAlignment(Pos.CENTER);
    selectedTimeContainer.setFillHeight(false);
    StackPane headerPanel = new StackPane();
    headerPanel.getStyleClass().add("time-pane");
    headerPanel.setBackground(new Background(new BackgroundFill(this.timePicker.getDefaultColor(), CornerRadii.EMPTY, Insets.EMPTY)));
    headerPanel.setPadding(new Insets(8, 24, 8, 24));
    headerPanel.getChildren().add(selectedTimeContainer);
    return headerPanel;
}
Also used : Insets(javafx.geometry.Insets) Label(javafx.scene.control.Label) Paint(javafx.scene.paint.Paint)

Example 2 with Label

use of javafx.scene.control.Label in project JFoenix by jfoenixadmin.

the class JFXTimePickerContent method createHoursContent.

private StackPane createHoursContent(LocalTime time) {
    // create hours content
    StackPane hoursPointer = new StackPane();
    Circle selectionCircle = new Circle(contentCircleRadius / 6);
    selectionCircle.fillProperty().bind(timePicker.defaultColorProperty());
    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);
    hoursPointer.getChildren().addAll(line, selectionCircle);
    StackPane.setAlignment(selectionCircle, Pos.CENTER_LEFT);
    Group pointerGroup = new Group();
    pointerGroup.getChildren().add(hoursPointer);
    pointerGroup.setTranslateX((-contentCircleRadius + shift) / 2);
    hoursPointerRotate = new Rotate(0, contentCircleRadius - shift, selectionCircle.getRadius());
    pointerRotate.set(hoursPointerRotate);
    pointerGroup.getTransforms().add(hoursPointerRotate);
    Pane clockLabelsContainer = new Pane();
    // inner circle radius
    double radius = contentCircleRadius - shift - selectionCircle.getRadius();
    for (int i = 0; i < 12; i++) {
        // create the label and its container
        int val = (i + 3) % 12 == 0 ? 12 : (i + 3) % 12;
        Label label = new Label(val + "");
        label.setFont(Font.font("Roboto", FontWeight.BOLD, 12));
        // init color 
        if (val == time.getHour() % 12 || (val == 12 && time.getHour() % 12 == 0))
            label.setTextFill(Color.rgb(255, 255, 255, 0.87));
        else
            label.setTextFill(Color.rgb(0, 0, 0, 0.87));
        selectedHourLabel.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));
            }
        });
        // create label container 
        StackPane labelContainer = new StackPane();
        labelContainer.getChildren().add(label);
        double labelSize = (selectionCircle.getRadius() / Math.sqrt(2)) * 2;
        labelContainer.setMinSize(labelSize, labelSize);
        // position the label on the circle
        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);
        // init pointer angle
        if (val == time.getHour() % 12 || (val == 12 && time.getHour() % 12 == 0))
            hoursPointerRotate.setAngle(180 + Math.toDegrees(angle));
    }
    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)

Example 3 with Label

use of javafx.scene.control.Label in project JFoenix by jfoenixadmin.

the class ListViewDemo method start.

@Override
public void start(Stage stage) throws Exception {
    JFXListView<Label> list = new JFXListView<Label>();
    for (int i = 0; i < 4; i++) list.getItems().add(new Label("Item " + i));
    list.getStyleClass().add("mylistview");
    ListView<String> javaList = new ListView<String>();
    for (int i = 0; i < 4; i++) javaList.getItems().add("Item " + i);
    FlowPane pane = new FlowPane();
    pane.setStyle("-fx-background-color:WHITE");
    JFXButton button3D = new JFXButton("3D");
    button3D.setOnMouseClicked((e) -> list.depthProperty().set(++counter % 2));
    JFXButton buttonExpand = new JFXButton("EXPAND");
    buttonExpand.setOnMouseClicked((e) -> {
        list.depthProperty().set(1);
        list.setExpanded(true);
    });
    JFXButton buttonCollapse = new JFXButton("COLLAPSE");
    buttonCollapse.setOnMouseClicked((e) -> {
        list.depthProperty().set(1);
        list.setExpanded(false);
    });
    pane.getChildren().add(button3D);
    pane.getChildren().add(buttonExpand);
    pane.getChildren().add(buttonCollapse);
    AnchorPane listsPane = new AnchorPane();
    listsPane.getChildren().add(list);
    AnchorPane.setLeftAnchor(list, 20.0);
    listsPane.getChildren().add(javaList);
    AnchorPane.setLeftAnchor(javaList, 300.0);
    VBox box = new VBox();
    box.getChildren().add(pane);
    box.getChildren().add(listsPane);
    box.setSpacing(40);
    StackPane main = new StackPane();
    main.getChildren().add(box);
    main.setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
    StackPane.setMargin(pane, new Insets(20, 0, 0, 20));
    final Scene scene = new Scene(main, 600, 600, Color.WHITE);
    stage.setTitle("JFX ListView Demo ");
    scene.getStylesheets().add(ListViewDemo.class.getResource("/resources/css/jfoenix-components.css").toExternalForm());
    stage.setScene(scene);
    stage.setResizable(false);
    stage.show();
}
Also used : Insets(javafx.geometry.Insets) Label(javafx.scene.control.Label) JFXButton(com.jfoenix.controls.JFXButton) Scene(javafx.scene.Scene) ListView(javafx.scene.control.ListView) JFXListView(com.jfoenix.controls.JFXListView) JFXListView(com.jfoenix.controls.JFXListView)

Example 4 with Label

use of javafx.scene.control.Label in project JFoenix by jfoenixadmin.

the class RipplerDemo method start.

@Override
public void start(Stage stage) {
    //TODO drop shadow changes the width and hegith thus need to be considered
    FlowPane main = new FlowPane();
    main.setVgap(20);
    main.setHgap(20);
    Label l = new Label("Click Me");
    l.setStyle("-fx-background-color:WHITE;");
    l.setPadding(new Insets(20));
    JFXRippler lrippler = new JFXRippler(l);
    lrippler.setEnabled(false);
    main.getChildren().add(lrippler);
    l.setOnMousePressed((e) -> {
        if (i == 5)
            step = -1;
        else if (i == 0)
            step = 1;
        JFXDepthManager.setDepth(l, i += step % JFXDepthManager.getLevels());
    });
    Label l1 = new Label("TEST");
    l1.setStyle("-fx-background-color:WHITE;");
    l1.setPadding(new Insets(20));
    JFXRippler rippler1 = new JFXRippler(l1);
    main.getChildren().add(rippler1);
    JFXDepthManager.setDepth(rippler1, 1);
    Label l2 = new Label("TEST1");
    l2.setStyle("-fx-background-color:WHITE;");
    l2.setPadding(new Insets(20));
    JFXRippler rippler2 = new JFXRippler(l2);
    main.getChildren().add(rippler2);
    JFXDepthManager.setDepth(rippler2, 2);
    Label l3 = new Label("TEST2");
    l3.setStyle("-fx-background-color:WHITE;");
    l3.setPadding(new Insets(20));
    JFXRippler rippler3 = new JFXRippler(l3);
    main.getChildren().add(rippler3);
    JFXDepthManager.setDepth(rippler3, 3);
    Label l4 = new Label("TEST3");
    l4.setStyle("-fx-background-color:WHITE;");
    l4.setPadding(new Insets(20));
    JFXRippler rippler4 = new JFXRippler(l4);
    main.getChildren().add(rippler4);
    JFXDepthManager.setDepth(rippler4, 4);
    Label l5 = new Label("TEST4");
    l5.setStyle("-fx-background-color:WHITE;");
    l5.setPadding(new Insets(20));
    JFXRippler rippler5 = new JFXRippler(l5);
    main.getChildren().add(rippler5);
    JFXDepthManager.setDepth(rippler5, 5);
    StackPane pane = new StackPane();
    pane.getChildren().add(main);
    StackPane.setMargin(main, new Insets(100));
    pane.setStyle("-fx-background-color:WHITE");
    final Scene scene = new Scene(pane, 600, 400);
    stage.setTitle("JavaFX Ripple effect and shadows ");
    stage.setScene(scene);
    stage.setResizable(false);
    stage.show();
}
Also used : Insets(javafx.geometry.Insets) JFXRippler(com.jfoenix.controls.JFXRippler) Label(javafx.scene.control.Label) FlowPane(javafx.scene.layout.FlowPane) Scene(javafx.scene.Scene) StackPane(javafx.scene.layout.StackPane)

Example 5 with Label

use of javafx.scene.control.Label in project JFoenix by jfoenixadmin.

the class ScrollPaneDemo method start.

@Override
public void start(Stage stage) throws Exception {
    JFXListView<Label> list = new JFXListView<Label>();
    for (int i = 0; i < 100; i++) list.getItems().add(new Label("Item " + i));
    list.getStyleClass().add("mylistview");
    list.setMaxHeight(3400);
    StackPane container = new StackPane(list);
    container.setPadding(new Insets(24));
    JFXScrollPane pane = new JFXScrollPane();
    pane.setContent(container);
    JFXButton button = new JFXButton("");
    SVGGlyph arrow = new SVGGlyph(0, "FULLSCREEN", "M402.746 877.254l-320-320c-24.994-24.992-24.994-65.516 0-90.51l320-320c24.994-24.992 65.516-24.992 90.51 0 24.994 24.994 24.994 65.516 0 90.51l-210.746 210.746h613.49c35.346 0 64 28.654 64 64s-28.654 64-64 64h-613.49l210.746 210.746c12.496 12.496 18.744 28.876 18.744 45.254s-6.248 32.758-18.744 45.254c-24.994 24.994-65.516 24.994-90.51 0z", Color.WHITE);
    arrow.setSize(20, 16);
    button.setGraphic(arrow);
    button.setRipplerFill(Color.WHITE);
    pane.getTopBar().getChildren().add(button);
    Label title = new Label("Title");
    pane.getBottomBar().getChildren().add(title);
    title.setStyle("-fx-text-fill:WHITE; -fx-font-size: 40;");
    JFXScrollPane.smoothScrolling((ScrollPane) pane.getChildren().get(0));
    StackPane.setMargin(title, new Insets(0, 0, 0, 80));
    StackPane.setAlignment(title, Pos.CENTER_LEFT);
    StackPane.setAlignment(button, Pos.CENTER_LEFT);
    StackPane.setMargin(button, new Insets(0, 0, 0, 20));
    final Scene scene = new Scene(new StackPane(pane), 600, 600, Color.WHITE);
    stage.setTitle("JFX ListView Demo ");
    stage.setScene(scene);
    stage.show();
}
Also used : JFXScrollPane(com.jfoenix.controls.JFXScrollPane) Insets(javafx.geometry.Insets) SVGGlyph(com.jfoenix.svg.SVGGlyph) JFXListView(com.jfoenix.controls.JFXListView) Label(javafx.scene.control.Label) JFXButton(com.jfoenix.controls.JFXButton) Scene(javafx.scene.Scene) StackPane(javafx.scene.layout.StackPane)

Aggregations

Label (javafx.scene.control.Label)138 Insets (javafx.geometry.Insets)47 Button (javafx.scene.control.Button)38 Scene (javafx.scene.Scene)26 HBox (javafx.scene.layout.HBox)26 VBox (javafx.scene.layout.VBox)25 GridPane (javafx.scene.layout.GridPane)20 TextField (javafx.scene.control.TextField)19 BorderPane (javafx.scene.layout.BorderPane)19 Node (javafx.scene.Node)17 ImageView (javafx.scene.image.ImageView)13 ArrayList (java.util.ArrayList)12 InputTextField (io.bitsquare.gui.components.InputTextField)11 List (java.util.List)11 Tooltip (javafx.scene.control.Tooltip)11 Stage (javafx.stage.Stage)11 Map (java.util.Map)9 ObservableList (javafx.collections.ObservableList)9 Image (javafx.scene.image.Image)9 StackPane (javafx.scene.layout.StackPane)9