Java Code Examples for com.jfoenix.controls.JFXButton#setGraphic()

The following examples show how to use com.jfoenix.controls.JFXButton#setGraphic() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ManageWorkspacesDialog.java    From milkman with MIT License 6 votes vote down vote up
private HBox createEntry(String workspaceName) {
	
	JFXButton renameButton = new JFXButton();
	renameButton.setGraphic(new FontAwesomeIconView(FontAwesomeIcon.PENCIL, "1.5em"));
	renameButton.setTooltip(new Tooltip("Rename workspace"));
	renameButton.setOnAction(e -> triggerRenameDialog(workspaceName));
	
	JFXButton deleteButton = new JFXButton();
	deleteButton.setGraphic(new FontAwesomeIconView(FontAwesomeIcon.TIMES, "1.5em"));
	deleteButton.setTooltip(new Tooltip("Delete workspace"));
	deleteButton.setOnAction(e -> {
		onCommand.invoke(new AppCommand.DeleteWorkspace(workspaceName));
		Platform.runLater(() -> workspaces.remove(workspaceName));
	});

	JFXButton exportButton = new JFXButton();
	exportButton.setGraphic(new FontAwesomeIconView(FontAwesomeIcon.UPLOAD, "1.5em"));
	exportButton.setTooltip(new Tooltip("Export workspace"));
	exportButton.setOnAction(e -> triggerExportWorkspaceDialog(workspaceName));

	Label wsName = new Label(workspaceName);
	HBox.setHgrow(wsName, Priority.ALWAYS);
	
	return new HBox(wsName, renameButton, deleteButton, exportButton);
}
 
Example 2
Source File: JfxTableEditor.java    From milkman with MIT License 6 votes vote down vote up
public JfxTableEditor() {
	table.setShowRoot(false);
	table.setEditable(true);
	table.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

	JavaFxUtils.publishEscToParent(table);
	this.getChildren().add(table);
	addItemBtn = new JFXButton();
	addItemBtn.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
	addItemBtn.setGraphic(new FontAwesomeIconView(FontAwesomeIcon.PLUS, "1.5em"));
	addItemBtn.getStyleClass().add("btn-add-entry");
	StackPane.setAlignment(addItemBtn, Pos.BOTTOM_RIGHT);
	StackPane.setMargin(addItemBtn, new Insets(0, 20, 20, 0));
	this.getChildren().add(addItemBtn);

	final KeyCombination keyCodeCopy = PlatformUtil.getControlKeyCombination(KeyCode.C);
	final KeyCombination keyCodePaste = PlatformUtil.getControlKeyCombination(KeyCode.V);
    table.setOnKeyPressed(event -> {
        if (keyCodeCopy.match(event)) {
            copySelectionToClipboard();
        }
        if (keyCodePaste.match(event)) {
        	pasteSelectionFromClipboard();
        }
    });
}
 
Example 3
Source File: RequestCollectionComponent.java    From milkman with MIT License 5 votes vote down vote up
private HBox createCollectionEntry(Collection collection, TreeItem<Node> item) {
	Label collectionName = new Label(collection.getName());
	HBox.setHgrow(collectionName, Priority.ALWAYS);
	
	
	
	JFXButton starringBtn = new JFXButton();
	starringBtn.getStyleClass().add("btn-starring");
	starringBtn.setGraphic(collection.isStarred() ? new FontAwesomeIconView(FontAwesomeIcon.STAR, "1em") : new FontAwesomeIconView(FontAwesomeIcon.STAR_ALT, "1em"));
	starringBtn.setOnAction( e -> {
		collection.setStarred(!collection.isStarred());
		//HACK invoke directly bc we want to trigger sorting (see further up).
		//this does not change the dirty-state as the 
		//dirty state in collection is not used any further
		collection.onDirtyChange.invoke(false, true);   

		starringBtn.setGraphic(collection.isStarred() ? new FontAwesomeIconView(FontAwesomeIcon.STAR, "1em") : new FontAwesomeIconView(FontAwesomeIcon.STAR_ALT, "1em"));
	});
	
	
	HBox hBox = new HBox(new FontAwesomeIconView(FontAwesomeIcon.FOLDER_ALT, "1.5em"), collectionName, starringBtn);

	
	hBox.setOnMouseClicked(e -> {
		if (e.getButton() == MouseButton.PRIMARY) {
			item.setExpanded(!item.isExpanded());
			e.consume();
		}
		if (e.getButton() == MouseButton.SECONDARY) {
			collectionCtxMenu.show(collection, hBox, e.getScreenX(), e.getScreenY());
			e.consume();
		}
	});
	return hBox;
}
 
Example 4
Source File: DeleteDialog.java    From Jupiter with GNU General Public License v3.0 5 votes vote down vote up
/**
 * Creates a new delete dialog
 *
 * @param stage dialog stage
 */
public DeleteDialog(Stage stage) {
  super(stage);
  // set content
  body = new Text();
  HBox box = new HBox();
  box.setSpacing(10);
  box.setAlignment(Pos.CENTER);
  JFXButton delete = new JFXButton("Delete");
  delete.setGraphic(Icons.btn("trash"));
  delete.getStyleClass().add("dont-save");
  JFXButton cancel = new JFXButton("Cancel");
  cancel.setGraphic(Icons.btn("stop"));
  cancel.getStyleClass().add("cancel");
  box.getChildren().addAll(delete, cancel);
  // set layout
  JFXDialogLayout layout = new JFXDialogLayout();
  layout.setHeading(new Text("Are you sure you want to delete the selected item permanently ?"));
  layout.setBody(body);
  layout.setActions(box);
  /// set alert
  setContent(layout);
  initModality(Modality.NONE);
  setOverlayClose(false);
  setAnimation(JFXAlertAnimation.CENTER_ANIMATION);
  // save actions
  delete.setOnAction(e -> delete());
  delete.setOnKeyPressed(e -> {
    if (ENTER.match(e)) {
      delete();
    }
  });
  // cancel actions
  cancel.setOnAction(e -> cancel());
  cancel.setOnKeyPressed(e -> {
    if (ENTER.match(e)) {
      cancel();
    }
  });
}
 
Example 5
Source File: MainScene.java    From mars-sim with GNU General Public License v3.0 5 votes vote down vote up
public void createMapButtons() {
	rotateCWBtn = new JFXButton();
	rotateCWBtn.setOpacity(1);
	rotateCWBtn.setGraphic(new ImageView(new Image(this.getClass().getResourceAsStream(Msg.getString("img.cw"))))); //$NON-NLS-1$
	rotateCWBtn.setStyle("-fx-background-color: transparent; ");
	setQuickToolTip(rotateCWBtn, Msg.getString("SettlementTransparentPanel.tooltip.clockwise"));
	rotateCWBtn.setOnAction(e -> {
		mapPanel.setRotation(mapPanel.getRotation() + ROTATION_CHANGE);
		e.consume();
	});

	rotateCCWBtn = new JFXButton();
	rotateCCWBtn.setOpacity(1);
	rotateCCWBtn
			.setGraphic(new ImageView(new Image(this.getClass().getResourceAsStream(Msg.getString("img.ccw"))))); //$NON-NLS-1$
	rotateCCWBtn.setStyle("-fx-background-color: transparent; ");
	setQuickToolTip(rotateCCWBtn, Msg.getString("SettlementTransparentPanel.tooltip.counterClockwise"));
	rotateCCWBtn.setOnAction(e -> {
		mapPanel.setRotation(mapPanel.getRotation() - ROTATION_CHANGE);
		e.consume();
	});

	recenterBtn = new JFXButton();
	recenterBtn.setOpacity(1);
	recenterBtn.setGraphic(
			new ImageView(new Image(this.getClass().getResourceAsStream(Msg.getString("img.recenter"))))); //$NON-NLS-1$
	recenterBtn.setStyle("-fx-background-color: transparent; ");
	setQuickToolTip(recenterBtn, Msg.getString("SettlementTransparentPanel.tooltip.recenter"));
	recenterBtn.setOnAction(e -> {
		mapPanel.reCenter();
		zoomSlider.setValue(DEFAULT_ZOOM);
		e.consume();
	});

}
 
Example 6
Source File: FxmlBuilder.java    From milkman with MIT License 4 votes vote down vote up
public static JFXButton button(Node graphic, Runnable onAction) {
	JFXButton jfxButton = new JFXButton();
	jfxButton.setGraphic(graphic);
	jfxButton.setOnAction(e -> onAction.run());
	return jfxButton;
}
 
Example 7
Source File: FxmlBuilder.java    From milkman with MIT License 4 votes vote down vote up
public static JFXButton button(String id, Node graphic) {
	JFXButton jfxButton = new JFXButton();
	jfxButton.setGraphic(graphic);
	jfxButton.setId(id);
	return jfxButton;
}
 
Example 8
Source File: JfxTableEditor.java    From milkman with MIT License 4 votes vote down vote up
public DeleteEntryCell(Consumer<T> listener) {
	this.listener = listener;
	btn = new JFXButton();
	btn.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
	btn.setGraphic(new FontAwesomeIconView(FontAwesomeIcon.TIMES, "1.5em"));
}
 
Example 9
Source File: CloseDialog.java    From Jupiter with GNU General Public License v3.0 4 votes vote down vote up
/**
 * Creates a default save cancel and dont save dialog.
 *
 * @param stage dialog stage
 */
public CloseDialog(Stage stage) {
  super(stage);
  // set content
  HBox box = new HBox();
  box.setSpacing(10);
  box.setAlignment(Pos.CENTER);
  JFXButton save = new JFXButton("Save");
  JFXButton cancel = new JFXButton("Cancel");
  JFXButton dontSave = new JFXButton("Don't Save");
  save.setGraphic(Icons.btn("save"));
  save.getStyleClass().add("save");
  cancel.setGraphic(Icons.btn("stop"));
  cancel.getStyleClass().add("cancel");
  dontSave.setGraphic(Icons.btn("dont_save"));
  dontSave.getStyleClass().add("dont-save");
  box.getChildren().addAll(save, cancel, dontSave);
  // set layout
  JFXDialogLayout layout = new JFXDialogLayout();
  title = new Text("Save program changes ?");
  body = new Text("Changes to one or more files will be lost unless you save. Do you wish to save all changes now ?");
  layout.setHeading(title);
  layout.setBody(body);
  layout.setActions(box);
  // set alert
  setContent(layout);
  initModality(Modality.NONE);
  setOverlayClose(false);
  setAnimation(JFXAlertAnimation.CENTER_ANIMATION);
  // save actions
  save.setOnAction(e -> save());
  save.setOnKeyPressed(e -> {
    if (ENTER.match(e))
      save();
  });
  // cancel actions
  cancel.setOnAction(e -> cancel());
  cancel.setOnKeyPressed(e -> {
    if (ENTER.match(e))
      cancel();
  });
  // dont save actions
  dontSave.setOnAction(e -> dontSave());
  dontSave.setOnKeyPressed(e -> {
    if (ENTER.match(e))
      dontSave();
  });
}
 
Example 10
Source File: MasonryPaneController.java    From JFoenix with Apache License 2.0 4 votes vote down vote up
/**
 * init fxml when loaded.
 */
@PostConstruct
public void init() {
    ArrayList<Node> children = new ArrayList<>();
    for (int i = 0; i < 20; i++) {
        StackPane child = new StackPane();
        double width = Math.random() * 100 + 100;
        child.setPrefWidth(width);
        double height = Math.random() * 100 + 100;
        child.setPrefHeight(height);
        JFXDepthManager.setDepth(child, 1);
        children.add(child);

        // create content
        StackPane header = new StackPane();
        String headerColor = getDefaultColor(i % 12);
        header.setStyle("-fx-background-radius: 5 5 0 0; -fx-background-color: " + headerColor);
        VBox.setVgrow(header, Priority.ALWAYS);
        StackPane body = new StackPane();
        body.setMinHeight(Math.random() * 20 + 50);
        VBox content = new VBox();
        content.getChildren().addAll(header, body);
        body.setStyle("-fx-background-radius: 0 0 5 5; -fx-background-color: rgb(255,255,255,0.87);");


        // create button
        JFXButton button = new JFXButton("");
        button.setButtonType(ButtonType.RAISED);
        button.setStyle("-fx-background-radius: 40;-fx-background-color: " + getDefaultColor((int) ((Math.random() * 12) % 12)));
        button.setPrefSize(40, 40);
        button.setRipplerFill(Color.valueOf(headerColor));
        button.setScaleX(0);
        button.setScaleY(0);
        SVGGlyph glyph = new SVGGlyph(-1,
            "test",
            "M1008 6.286q18.857 13.714 15.429 36.571l-146.286 877.714q-2.857 16.571-18.286 25.714-8 4.571-17.714 4.571-6.286 "
            + "0-13.714-2.857l-258.857-105.714-138.286 168.571q-10.286 13.143-28 13.143-7.429 "
            + "0-12.571-2.286-10.857-4-17.429-13.429t-6.571-20.857v-199.429l493.714-605.143-610.857 "
            + "528.571-225.714-92.571q-21.143-8-22.857-31.429-1.143-22.857 18.286-33.714l950.857-548.571q8.571-5.143 18.286-5.143"
            + " 11.429 0 20.571 6.286z",
            Color.WHITE);
        glyph.setSize(20, 20);
        button.setGraphic(glyph);
        button.translateYProperty().bind(Bindings.createDoubleBinding(() -> {
            return header.getBoundsInParent().getHeight() - button.getHeight() / 2;
        }, header.boundsInParentProperty(), button.heightProperty()));
        StackPane.setMargin(button, new Insets(0, 12, 0, 0));
        StackPane.setAlignment(button, Pos.TOP_RIGHT);

        Timeline animation = new Timeline(new KeyFrame(Duration.millis(240),
                                                       new KeyValue(button.scaleXProperty(),
                                                                    1,
                                                                    EASE_BOTH),
                                                       new KeyValue(button.scaleYProperty(),
                                                                    1,
                                                                    EASE_BOTH)));
        animation.setDelay(Duration.millis(100 * i + 1000));
        animation.play();
        child.getChildren().addAll(content, button);
    }
    masonryPane.getChildren().addAll(children);
    Platform.runLater(() -> scrollPane.requestLayout());

    JFXScrollPane.smoothScrolling(scrollPane);
}
 
Example 11
Source File: ScrollPaneDemo.java    From JFoenix with Apache License 2.0 4 votes vote down vote up
@Override
public void start(Stage stage) {
    JFXListView<Label> list = new JFXListView<>();
    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();
}
 
Example 12
Source File: JFXDatePickerContent.java    From JFoenix with Apache License 2.0 4 votes vote down vote up
protected BorderPane createCalendarArrowsPane() {

        SVGGlyph leftChevron = new SVGGlyph(0,
            "CHEVRON_LEFT",
            "M 742,-37 90,614 Q 53,651 53,704.5 53,758 90,795 l 652,651 q 37,37 90.5,37 53.5,0 90.5,-37 l 75,-75 q 37,-37 37,-90.5 0,-53.5 -37,-90.5 L 512,704 998,219 q 37,-38 37,-91 0,-53 -37,-90 L 923,-37 Q 886,-74 832.5,-74 779,-74 742,-37 z",
            Color.GRAY);
        SVGGlyph rightChevron = new SVGGlyph(0,
            "CHEVRON_RIGHT",
            "m 1099,704 q 0,-52 -37,-91 L 410,-38 q -37,-37 -90,-37 -53,0 -90,37 l -76,75 q -37,39 -37,91 0,53 37,90 l 486,486 -486,485 q -37,39 -37,91 0,53 37,90 l 76,75 q 36,38 90,38 54,0 90,-38 l 652,-651 q 37,-37 37,-90 z",
            Color.GRAY);
        leftChevron.setFill(DEFAULT_COLOR);
        leftChevron.setSize(6, 11);
        rightChevron.setFill(DEFAULT_COLOR);
        rightChevron.setSize(6, 11);

        backMonthButton = new JFXButton();
        backMonthButton.setMinSize(40, 40);
        backMonthButton.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT,
            new CornerRadii(40),
            Insets.EMPTY)));
        backMonthButton.getStyleClass().add("left-button");
        backMonthButton.setGraphic(leftChevron);
        backMonthButton.setRipplerFill(this.datePicker.getDefaultColor());
        backMonthButton.setOnAction(t -> forward(-1, MONTHS, false, true));

        forwardMonthButton = new JFXButton();
        forwardMonthButton.setMinSize(40, 40);
        forwardMonthButton.setBackground(new Background(new BackgroundFill(Color.TRANSPARENT,
            new CornerRadii(40),
            Insets.EMPTY)));
        forwardMonthButton.getStyleClass().add("right-button");
        forwardMonthButton.setGraphic(rightChevron);
        forwardMonthButton.setRipplerFill(this.datePicker.getDefaultColor());
        forwardMonthButton.setOnAction(t -> forward(1, MONTHS, false, true));

        BorderPane arrowsContainer = new BorderPane();
        arrowsContainer.setLeft(backMonthButton);
        arrowsContainer.setRight(forwardMonthButton);
        arrowsContainer.setPadding(new Insets(4, 12, 2, 12));
        arrowsContainer.setPickOnBounds(false);
        return arrowsContainer;
    }