use of javafx.scene.layout.BorderWidths in project JFoenix by jfoenixadmin.
the class JFXDecorator method initializeContainers.
private void initializeContainers(Node node, boolean fullScreen, boolean max, boolean min) {
buttonsContainer = new HBox();
buttonsContainer.getStyleClass().add("jfx-decorator-buttons-container");
buttonsContainer.setBackground(new Background(new BackgroundFill(Color.BLACK, CornerRadii.EMPTY, Insets.EMPTY)));
// BINDING
buttonsContainer.setPadding(new Insets(4));
buttonsContainer.setAlignment(Pos.CENTER_RIGHT);
// customize decorator buttons
List<JFXButton> btns = new ArrayList<>();
if (fullScreen) {
btns.add(btnFull);
}
if (min) {
btns.add(btnMin);
}
if (max) {
btns.add(btnMax);
// maximize/restore the window on header double click
buttonsContainer.addEventHandler(MouseEvent.MOUSE_CLICKED, (mouseEvent) -> {
if (mouseEvent.getClickCount() == 2) {
btnMax.fire();
}
});
}
btns.add(btnClose);
text = new Text();
text.getStyleClass().addAll("jfx-decorator-text", "title", "jfx-decorator-title");
text.setFill(Color.WHITE);
// binds the Text's text to title
text.textProperty().bind(title);
// binds title to the primaryStage's title
title.bind(primaryStage.titleProperty());
graphicContainer = new HBox();
graphicContainer.setPickOnBounds(false);
graphicContainer.setAlignment(Pos.CENTER_LEFT);
graphicContainer.getChildren().setAll(text);
HBox graphicTextContainer = new HBox(graphicContainer, text);
graphicTextContainer.getStyleClass().add("jfx-decorator-title-container");
graphicTextContainer.setAlignment(Pos.CENTER_LEFT);
graphicTextContainer.setPickOnBounds(false);
HBox.setHgrow(graphicTextContainer, Priority.ALWAYS);
HBox.setMargin(graphicContainer, new Insets(0, 8, 0, 8));
buttonsContainer.getChildren().setAll(graphicTextContainer);
buttonsContainer.getChildren().addAll(btns);
buttonsContainer.addEventHandler(MouseEvent.MOUSE_ENTERED, (enter) -> allowMove = true);
buttonsContainer.addEventHandler(MouseEvent.MOUSE_EXITED, (enter) -> {
if (!isDragging) {
allowMove = false;
}
});
buttonsContainer.setMinWidth(180);
contentPlaceHolder.getStyleClass().add("jfx-decorator-content-container");
contentPlaceHolder.setMinSize(0, 0);
StackPane clippedContainer = new StackPane(node);
contentPlaceHolder.getChildren().add(clippedContainer);
((Region) node).setMinSize(0, 0);
VBox.setVgrow(contentPlaceHolder, Priority.ALWAYS);
contentPlaceHolder.getStyleClass().add("resize-border");
contentPlaceHolder.setBorder(new Border(new BorderStroke(Color.BLACK, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(0, 4, 4, 4))));
// BINDING
Rectangle clip = new Rectangle();
clip.widthProperty().bind(clippedContainer.widthProperty());
clip.heightProperty().bind(clippedContainer.heightProperty());
clippedContainer.setClip(clip);
this.getChildren().addAll(buttonsContainer, contentPlaceHolder);
}
use of javafx.scene.layout.BorderWidths in project JFoenix by jfoenixadmin.
the class PromptLinesWrapper method updateDisabled.
public void updateDisabled() {
final boolean disabled = control.isDisable();
line.setBorder(!disabled ? Border.EMPTY : new Border(new BorderStroke(control.getUnFocusColor(), BorderStrokeStyle.DASHED, CornerRadii.EMPTY, new BorderWidths(1))));
line.setBackground(new Background(new BackgroundFill(disabled ? Color.TRANSPARENT : control.getUnFocusColor(), CornerRadii.EMPTY, Insets.EMPTY)));
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class PlusMinusTileSkin method initGraphics.
// ******************** Initialization ************************************
@Override
protected void initGraphics() {
super.initGraphics();
mouseEventHandler = e -> {
final EventType TYPE = e.getEventType();
final Label SRC = (Label) e.getSource();
if (MouseEvent.MOUSE_PRESSED == TYPE) {
if (SRC.equals(minusLabel)) {
decrement();
} else if (SRC.equals(plusLabel)) {
increment();
}
} else if (MouseEvent.MOUSE_RELEASED == TYPE) {
if (SRC.equals(minusLabel)) {
minusLabel.setTextFill(tile.getForegroundColor());
minusLabel.setBorder(new Border(new BorderStroke(tile.getForegroundColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
} else if (SRC.equals(plusLabel)) {
plusLabel.setTextFill(tile.getForegroundColor());
plusLabel.setBorder(new Border(new BorderStroke(tile.getForegroundColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
}
}
};
titleText = new Text();
titleText.setFill(tile.getTitleColor());
Helper.enableNode(titleText, !tile.getTitle().isEmpty());
text = new Text(tile.getText());
text.setFill(tile.getUnitColor());
Helper.enableNode(text, tile.isTextVisible());
valueText = new Text(String.format(locale, formatString, ((tile.getValue() - minValue) / range * 100)));
valueText.setFill(tile.getValueColor());
Helper.enableNode(valueText, tile.isValueVisible());
unitText = new Text(tile.getUnit());
unitText.setFill(tile.getUnitColor());
Helper.enableNode(unitText, !tile.getUnit().isEmpty());
valueUnitFlow = new TextFlow(valueText, unitText);
valueUnitFlow.setTextAlignment(TextAlignment.RIGHT);
description = new Label(tile.getDescription());
description.setAlignment(tile.getDescriptionAlignment());
description.setWrapText(true);
description.setTextFill(tile.getTextColor());
Helper.enableNode(description, !tile.getDescription().isEmpty());
plusLabel = new Label("+");
plusLabel.setAlignment(Pos.CENTER);
plusLabel.setEffect(shadow);
plusLabel.setPickOnBounds(false);
minusLabel = new Label("-");
minusLabel.setAlignment(Pos.CENTER);
minusLabel.setEffect(shadow);
minusLabel.setPickOnBounds(false);
getPane().getChildren().addAll(titleText, text, valueUnitFlow, description, minusLabel, plusLabel);
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class PlusMinusTileSkin method increment.
private void increment() {
plusLabel.setTextFill(tile.getActiveColor());
plusLabel.setBorder(new Border(new BorderStroke(tile.getActiveColor(), BorderStrokeStyle.SOLID, new CornerRadii(1024), new BorderWidths(size * 0.01))));
double newValue = clamp(minValue, maxValue, tile.getValue() + tile.getIncrement());
tile.setValue(newValue);
}
use of javafx.scene.layout.BorderWidths in project tilesfx by HanSolo.
the class TileSkin method redraw.
protected void redraw() {
pane.setBorder(new Border(new BorderStroke(tile.getBorderColor(), BorderStrokeStyle.SOLID, tile.getRoundedCorners() ? new CornerRadii(clamp(0, Double.MAX_VALUE, size * 0.025)) : CornerRadii.EMPTY, new BorderWidths(clamp(0, Double.MAX_VALUE, tile.getBorderWidth() / PREFERRED_WIDTH * size)))));
pane.setBackground(new Background(new BackgroundFill(tile.getBackgroundColor(), tile.getRoundedCorners() ? new CornerRadii(clamp(0, Double.MAX_VALUE, size * 0.025)) : CornerRadii.EMPTY, Insets.EMPTY)));
notifyRegion.setRoundedCorner(tile.getRoundedCorners());
notifyRegion.setBackgroundColor(tile.getNotificationBackgroundColor());
notifyRegion.setForegroundColor(tile.getNotificationForegroundColor());
locale = tile.getLocale();
formatString = new StringBuilder("%.").append(Integer.toString(tile.getDecimals())).append("f").toString();
sectionsVisible = tile.getSectionsVisible();
textSize = tile.getTextSize();
}
Aggregations