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;
}
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);
}
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();
}
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();
}
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();
}
Aggregations