下面列出了怎么用javafx.scene.control.Separator的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
public Pane getParamPane(final PluginParametersNode node) {
if (node.getChildren().isEmpty()) {
return null;
}
if (currentChild == -1) {
titleLabel = new Label(title);
titleLabel.setFont(Font.font(Font.getDefault().getFamily(), FontPosture.ITALIC, fontSize));
final Separator separator = new Separator();
separator.setStyle("-fx-background-color:#444444;");
HBox separatorBox = new HBox(separator);
HBox.setHgrow(separator, Priority.ALWAYS);
HBox.setMargin(separator, new Insets(PADDING, 0, 0, 0));
return new VBox(titleLabel, separatorBox);
}
final Pane paramPane = super.getParamPane(node);
final SimpleDoubleProperty updated = new SimpleDoubleProperty();
updated.bind(Bindings.max(maxParamWidth, paramPane.widthProperty()));
maxParamWidth = updated;
if (titleLabel != null) {
titleLabel.prefWidthProperty().bind(maxParamWidth);
}
return paramPane;
}
private void initComponent() {
Separator separator = new Separator();
separator.setOrientation(Orientation.HORIZONTAL);
saveAsButton.setText("另存为");
saveAsButton.setPrefSize(80, 20);
buttonBox.setAlignment(Pos.BASELINE_RIGHT);
buttonBox.setPadding(new Insets(0, 10, 5, 10));
buttonBox.setSpacing(10);
buttonBox.getChildren().add(saveAsButton);
vBox.getChildren().add(buttonBox);
bottomBox.getChildren().add(vBox);
bottomBox.getChildren().add(separator);
this.setBottom(bottomBox);
}
private void initComponents(boolean selectable) {
initVerticalButtonBar();
pane = new ScrollPane();
HBox.setHgrow(pane, Priority.ALWAYS);
setCenter(pane);
if (selectable) {
setRight(verticalButtonBar);
verticalButtonBar.setStyle("-fx-padding: 5px");
verticalButtonBar.setDisable(true);
}
VBox titleBox = new VBox();
Label titleLabel = new Label("Editing CheckList", FXUIUtils.getIcon("newCheckList"));
titleLabel.getStyleClass().add("modaldialog-title");
titleBox.getChildren().add(titleLabel);
titleBox.getChildren().add(new Separator());
setTop(titleBox);
}
/** Add a custom tool bar item
* @param icon Icon {@link Image}
* @param tool_tip Tool tip text
* @return {@link Button}
*/
public Button addItem(final ImageView icon, final String tool_tip)
{
if (!have_custom_items)
{
toolbar.getItems().add(new Separator());
have_custom_items = true;
}
final Button item = new Button();
item.setGraphic(icon);
item.setTooltip(new Tooltip(tool_tip));
// Buttons should size based on the icon, but
// without explicit size, they sometimes start out zero-sized.
// setMinSize tends to have icon end up in top-left corner.
// setPrefSize tends to show just the icon, no button.
// minSize with visible button is better than no button.
// Icon gets positioned once the button is pressed.
item.setMinSize(BUTTON_WIDTH, BUTTON_HEIGHT);
toolbar.getItems().add(item);
return item;
}
@Override
public void start(final Stage stage) throws Exception
{
final GridPane layout = new GridPane();
final List<InputItem> inputs = List.of(
new InputItem("fred", "x"),
new InputItem("freddy", "y"),
new InputItem("jane", "z"),
new InputItem("janet", "jj"));
final FormulaPane form_pane = new FormulaPane("2*x + y", inputs);
layout.add(form_pane, 0, 0, 2, 1);
layout.add(new Separator(), 0, 1, 2, 1);
layout.add(new Label("Formula OK: "), 0, 2);
final Label status = new Label();
layout.add(status, 1, 2);
status.textProperty().bind(form_pane.okProperty().asString());
stage.setScene(new Scene(layout, 700, 400));
stage.show();
}
/** @param type {@link AlertType}
* @param header Header text
* @param content Content text
* @param buttons {@link ButtonType}s
*/
public AlertWithToggle(final AlertType type,
final String header,
final String content,
final ButtonType... buttons)
{
super(type, "", buttons);
setHeaderText(header);
setResizable(true);
if (content.isEmpty())
getDialogPane().setContent(hide);
else
{
final Label content_label = new Label(content);
final VBox layout = new VBox(5, content_label, new Separator(), hide);
getDialogPane().setContent(layout);
}
}
public ControlBarGUIPluginView(final ControlBarGUIPluginModel model) {
super(model, new ToolBar());
Platform.runLater(() -> {
ToolBar topButtonToolBar = this.getNode();
this.startButton = new Button("Play");
this.startButton.setOnMouseClicked(event -> this.handleStartButtonClick());
topButtonToolBar.getItems().add(this.startButton);
Button pauseButton = new Button("Pause");
pauseButton.setOnMouseClicked(event -> this.handlePauseButtonClick());
topButtonToolBar.getItems().add(pauseButton);
Button resetButton = new Button("Reset");
resetButton.setOnMouseClicked(event -> this.handleResetButtonClick());
topButtonToolBar.getItems().add(resetButton);
topButtonToolBar.getItems().add(new Separator());
});
}
public HistoryListPopup(@Nullable String popupTitle, @NotNull HistoryListProvider provider) {
super(ArmaDialogCreator.getPrimaryStage(), new VBox(5), popupTitle);
this.provider = provider;
myRootElement.setPadding(new Insets(10));
final ScrollPane scrollPane = new ScrollPane(stackPaneWrapper);
VBox.setVgrow(scrollPane, Priority.ALWAYS);
scrollPane.setFitToHeight(true);
scrollPane.setFitToWidth(true);
scrollPane.setStyle("-fx-background-color:transparent");
myRootElement.getChildren().addAll(scrollPane, new Separator(Orientation.HORIZONTAL), getBoundResponseFooter(false, true, false));
gridPaneContent.setVgap(15);
gridPaneContent.setHgap(5);
ColumnConstraints constraints = new ColumnConstraints(-1, -1, Double.MAX_VALUE, Priority.ALWAYS, HPos.CENTER, true);
gridPaneContent.getColumnConstraints().addAll(constraints, constraints);
myStage.setMinWidth(320);
myStage.setMinHeight(320);
myStage.setWidth(480);
stackPaneWrapper.setPrefHeight(320);
fillContent();
}
@Override
public void start(Stage primaryStage) throws Exception {
BorderPane pane = new BorderPane();
ToolBar toolBar = new ToolBar();
Label fileLabel = new Label("File");
flyout = createFlyout();
// Could be TOP, LEFT, RIGHT too!
flyout.setFlyoutSide(Flyout.Side.BOTTOM);
toolBar.getItems().addAll(
fileLabel,
new Separator(),
flyout
);
pane.setTop(toolBar);
Scene scene = new Scene(pane, 600, 200);
primaryStage.setScene(scene);
primaryStage.show();
}
public ToolboxView() {
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/fxml/ToolboxView.fxml"));
fxmlLoader.setRoot(this);
fxmlLoader.setController(this);
try {
fxmlLoader.load();
} catch (IOException exception) {
throw new RuntimeException(exception);
}
playerPanel = new PlayerPanel();
getItems().add(playerPanel);
getItems().add(new Separator());
cardPanel = new CardPanel();
getItems().add(cardPanel);
getItems().add(new Separator());
minionPanel = new MinionPanel();
getItems().add(minionPanel);
}
@Override
protected void initialize() {
root.setSpacing(20);
AnchorPane bisqDAOPane = createBisqDAOContent();
HBox.setHgrow(bisqDAOPane, Priority.SOMETIMES);
Separator separator = new Separator();
separator.setOrientation(Orientation.VERTICAL);
HBox.setHgrow(separator, Priority.NEVER);
GridPane bisqDAOOnTestnetPane = createBisqDAOOnTestnetContent();
HBox.setHgrow(bisqDAOOnTestnetPane, Priority.SOMETIMES);
Pane spacer = new Pane();
HBox.setHgrow(spacer, Priority.ALWAYS);
root.getChildren().addAll(bisqDAOPane, separator, bisqDAOOnTestnetPane, spacer);
}
private void createContent() {
HBox content = new HBox();
content.setMinWidth(680);
content.setAlignment(Pos.TOP_LEFT);
content.setSpacing(40);
VBox accountSigning = getFeatureBox(Res.get("popup.news.launch.accountSigning.headline"),
Res.get("popup.news.launch.accountSigning.description"),
"image-account-signing-screenshot",
"https://docs.bisq.network/payment-methods#account-signing");
VBox newTradeProtocol = getFeatureBox(Res.get("popup.news.launch.ntp.headline"),
Res.get("popup.news.launch.ntp.description"),
"image-new-trade-protocol-screenshot",
"https://docs.bisq.network/trading-rules");
content.getChildren().addAll(accountSigning, new Separator(Orientation.VERTICAL), newTradeProtocol);
GridPane.setMargin(content, new Insets(10, 0, 0, 0));
GridPane.setRowIndex(content, ++rowIndex);
GridPane.setColumnSpan(content, 2);
GridPane.setHgrow(content, Priority.ALWAYS);
gridPane.getChildren().add(content);
}
private GridPane createInfoPopover() {
GridPane infoGridPane = new GridPane();
infoGridPane.setHgap(5);
infoGridPane.setVgap(5);
infoGridPane.setPadding(new Insets(10, 10, 10, 10));
int i = 0;
if (model.isSellOffer())
addPayInfoEntry(infoGridPane, i++, Res.getWithCol("shared.tradeAmount"), model.tradeAmount.get());
addPayInfoEntry(infoGridPane, i++, Res.getWithCol("shared.yourSecurityDeposit"), model.getSecurityDepositInfo());
addPayInfoEntry(infoGridPane, i++, Res.get("createOffer.fundsBox.offerFee"), model.getTradeFee());
addPayInfoEntry(infoGridPane, i++, Res.get("createOffer.fundsBox.networkFee"), model.getTxFee());
Separator separator = new Separator();
separator.setOrientation(Orientation.HORIZONTAL);
separator.getStyleClass().add("offer-separator");
GridPane.setConstraints(separator, 1, i++);
infoGridPane.getChildren().add(separator);
addPayInfoEntry(infoGridPane, i, Res.getWithCol("shared.total"), model.getTotalToPayInfo());
return infoGridPane;
}
private GridPane createInfoPopover() {
GridPane infoGridPane = new GridPane();
infoGridPane.setHgap(5);
infoGridPane.setVgap(5);
infoGridPane.setPadding(new Insets(10, 10, 10, 10));
int i = 0;
if (model.isSeller())
addPayInfoEntry(infoGridPane, i++, Res.get("takeOffer.fundsBox.tradeAmount"), model.getTradeAmount());
addPayInfoEntry(infoGridPane, i++, Res.getWithCol("shared.yourSecurityDeposit"), model.getSecurityDepositInfo());
addPayInfoEntry(infoGridPane, i++, Res.get("takeOffer.fundsBox.offerFee"), model.getTradeFee());
addPayInfoEntry(infoGridPane, i++, Res.get("takeOffer.fundsBox.networkFee"), model.getTxFee());
Separator separator = new Separator();
separator.setOrientation(Orientation.HORIZONTAL);
separator.getStyleClass().add("offer-separator");
GridPane.setConstraints(separator, 1, i++);
infoGridPane.getChildren().add(separator);
addPayInfoEntry(infoGridPane, i, Res.getWithCol("shared.total"),
model.getTotalToPayInfo());
return infoGridPane;
}
public DataCollectionUI(){
grid = new GridPane();
grid.setPadding(new Insets(5, 5, 5, 5));
// Adding separators
grid.add(new Text("Available sources"),0,0);
grid.add(new Separator(),0,1);
grid.add(new Text("Create a source"),0,3);
grid.add(new Separator(),0,4);
grid.add(new Text("Collect data from the selected source"),0,6);
grid.add(new Separator(),0,7);
availableSourcesUI();
newSourceUI();
collectDataUI();
}
public DataManipulationUI(){
StyleManager.getInstance().addUserAgentStylesheet(PropertySheet.class.getResource("propertysheet.css").toExternalForm());
// Initializing the main grid
grid = new GridPane();
grid.setPadding(new Insets(5,5,5,5));
// Adding separators
grid.add(new Text("Available datasets"),0,0);
grid.add(new Separator(),0,1);
grid.add(new Text("Import a dataset"),0,3);
grid.add(new Separator(),0,4);
grid.add(new Text("Preprocess the selected dataset"),0,6);
grid.add(new Separator(),0,7);
grid.add(new Text("Filter the selected preprocessed dataset"),0,9);
grid.add(new Separator(),0,10);
// Initializing specific UIs
availableDatasetsUI();
newDatasetProperties = new HashMap<>();
importUI();
preprocessUI();
filterUI();
}
@Override
public Pane getParamPane(final PluginParametersNode node) {
if (node.getChildren().isEmpty()) {
return null;
}
if (currentChild == -1 || currentChild == node.getChildren().size()) {
final Separator separator = new Separator();
separator.setStyle("-fx-background-color:#444444;");
HBox separatorBox = new HBox(separator);
HBox.setHgrow(separator, Priority.ALWAYS);
return separatorBox;
}
final PluginParametersNode child = node.getChildren().get(currentChild);
return child.getFormatter().getParamPane(child);
}
@Override
public Node getNode(
PageActionManager actionmanager,
CPageData inputdata,
Window parentwindow,
TabPane[] parenttabpanes,
CollapsibleNode nodetocollapsewhenactiontriggered) {
Separator separator = new Separator();
if (!horizontal)
separator.setOrientation(Orientation.VERTICAL);
return separator;
}
public HBox getZoomInteractorBar() {
final Separator separator = new Separator();
separator.setOrientation(Orientation.VERTICAL);
final HBox buttonBar = new HBox();
buttonBar.setPadding(new Insets(1, 1, 1, 1));
final Button zoomOut = new Button(null, new Glyph(FONT_AWESOME, "\uf0b2").size(FONT_SIZE));
zoomOut.setPadding(new Insets(3, 3, 3, 3));
zoomOut.setTooltip(new Tooltip("zooms to origin and enables auto-ranging"));
final Button zoomModeXY = new Button(null, new Glyph(FONT_AWESOME, "\uf047").size(FONT_SIZE));
zoomModeXY.setPadding(new Insets(3, 3, 3, 3));
zoomModeXY.setTooltip(new Tooltip("set zoom-mode to X & Y range (N.B. disables auto-ranging)"));
final Button zoomModeX = new Button(null, new Glyph(FONT_AWESOME, "\uf07e").size(FONT_SIZE));
zoomModeX.setPadding(new Insets(3, 3, 3, 3));
zoomModeX.setTooltip(new Tooltip("set zoom-mode to X range (N.B. disables auto-ranging)"));
final Button zoomModeY = new Button(null, new Glyph(FONT_AWESOME, "\uf07d").size(FONT_SIZE));
zoomModeY.setPadding(new Insets(3, 3, 3, 3));
zoomModeY.setTooltip(new Tooltip("set zoom-mode to Y range (N.B. disables auto-ranging)"));
zoomOut.setOnAction(evt -> {
zoomOrigin();
for (final Axis axis : getChart().getAxes()) {
axis.setAutoRanging(true);
}
});
zoomModeXY.setOnAction(evt -> setAxisMode(AxisMode.XY));
zoomModeX.setOnAction(evt -> setAxisMode(AxisMode.X));
zoomModeY.setOnAction(evt -> setAxisMode(AxisMode.Y));
buttonBar.getChildren().addAll(separator, zoomOut, zoomModeXY, zoomModeX, zoomModeY);
return buttonBar;
}
/**
* Helper function to initialize the UI elements for the Interactor toolbar.
*
* @return HBox node with the toolbar elements
*/
protected HBox getInteractorBar() {
final Separator separator = new Separator();
separator.setOrientation(Orientation.VERTICAL);
final HBox buttonBar = new HBox();
buttonBar.setPadding(new Insets(1, 1, 1, 1));
final Button switchTableView = new Button(null, tableView);
switchTableView.setPadding(new Insets(3, 3, 3, 3));
switchTableView.setTooltip(new Tooltip("switches between graph and table view"));
final Button copyToClipBoard = new Button(null, clipBoardIcon);
copyToClipBoard.setPadding(new Insets(3, 3, 3, 3));
copyToClipBoard.setTooltip(new Tooltip("copy selected content top system clipboard"));
copyToClipBoard.setOnAction(e -> this.copySelectedToClipboard());
final Button saveTableView = new Button(null, saveIcon);
saveTableView.setPadding(new Insets(3, 3, 3, 3));
saveTableView.setTooltip(new Tooltip("store actively shown content as .csv file"));
saveTableView.setOnAction(e -> this.exportGridToCSV());
switchTableView.setOnAction(evt -> {
switchTableView.setGraphic(table.isVisible() ? tableView : graphView);
table.setVisible(!table.isVisible());
getChart().getPlotForeground().setMouseTransparent(!table.isVisible());
table.setMouseTransparent(!table.isVisible());
dsModel.datasetsChanged(null);
});
buttonBar.getChildren().addAll(separator, switchTableView, copyToClipBoard, saveTableView);
return buttonBar;
}
private void initComponent() {
// topBox.setPrefHeight(35);
topBox.setMinHeight(35);
Separator separator = new Separator();
// separator.setOrientation(Orientation.HORIZONTAL);
separator.setPrefHeight(1);
separator.setMaxHeight(1);
separator.setBorder(Border.EMPTY);
// separator.setAlignment(Pos.CENTER_LEFT);
// separator.getStyleClass().remove("line");
// separator.r
separator.setStyle("-fx-background-color:rgba(0, 0, 0, 0.3);");
// separator.setBackground(Background.EMPTY);
HBox line = new HBox();
line.setMinHeight(1);
line.setMaxHeight(1);
line.setStyle("-fx-background-color:rgba(0, 0, 0, 0.1);");
topRootBox.getChildren().add(topBox);
this.setCenter(box);
this.setTop(topRootBox);
// setStyle("-fx-background-color:rgba(240, 240, 240, 1)");
// this.getChildren().add(topRootBox);
// this.getChildren().add(box);
}
private void initComponent() {
Separator separator = new Separator();
separator.setOrientation(Orientation.HORIZONTAL);
// vBox.getChildren().add(buttonBox);
bottomBox.getChildren().add(vBox);
bottomBox.getChildren().add(separator);
this.setBottom(bottomBox);
}
public DependencyPane(Dependency dependency) throws IOException {
FXMLLoader loader = new FXMLLoader(getClass().getResource("dependency.fxml"));
loader.setRoot(this);
loader.setController(this);
loader.load();
name.setText(dependency.name);
dependency.version.ifPresentOrElse(v -> version.setText("v." + v), () -> version.setVisible(false));
{
Label l = new Label(dependency.dependency);
l.getStyleClass().add("dependency-gradle");
getChildren().add(l);
}
dependency.description.ifPresent(d -> getChildren().add(new Label(String.valueOf(d).replace("\\n", "\n").replace("\\t", "\t"))));
/* If there is a year or a set of developers, combine them to a string */
if (dependency.year.isPresent() || dependency.developers.length > 0)
getChildren().add(new Label(Streams.concat(dependency.year.stream(), Stream.of(String.join(", ", dependency.developers))).collect(Collectors
.joining(" ", "© ", ""))));
dependency.url.ifPresent(url -> getChildren().add(new Hyperlink(url)));
Separator separator = new Separator();
separator.setMaxWidth(150);
getChildren().add(separator);
for (License license : dependency.licenses) {
getChildren().add(new Label(license.name));
getChildren().add(new Hyperlink(license.url));
}
}
@Override
protected PopOver initInfo() {
PopOver info = super.initInfo();
GridPane popContent = new GridPane();
popContent.getStyleClass().add("grid");
info.setContentNode(popContent);
popContent.add(new Label("Found version(s):"), 0, 0);
popContent.add(new Label(
chunks.stream().map(c -> c.version).distinct().sorted().map(String::valueOf).collect(Collectors.joining(", ", "{", "}"))), 1, 0);
popContent.add(new Label("Unsupported for reason(s):"), 0, 1);
popContent.add(new Label(
chunks.stream().map(c -> c.message).distinct().sorted().map(String::valueOf).collect(Collectors.joining(", ", "{", "}"))), 1, 1);
popContent.add(new Separator(), 0, 2, 2, 1);
popContent.add(new Label("Supported versions:"), 0, 3);
popContent.add(new Label("Name:"), 1, 3);
int row = 4;
for (MinecraftVersion supported : MinecraftVersion.values()) {
if (supported.maxVersion == Integer.MAX_VALUE)
popContent.add(new Label(supported.minVersion + "+"), 0, row);
else
popContent.add(new Label(supported.minVersion + "-" + supported.maxVersion), 0, row);
popContent.add(new Label(supported.versionName), 1, row++);
}
return info;
}
/**
* creates all the graphical elements in the tool bar
*/
public ArmToolBar(){
this.switchButton = new Button("", new ImageView(new Image(getClass().getResource("/resources/switch.png").toExternalForm())));
this.switchButton.setTooltip(new Tooltip("Switch between editor and simulation mode [CTRL-E]"));
this.runButton = new Button("", new ImageView(new Image(getClass().getResource("/resources/run.png").toExternalForm())));
this.runButton.setTooltip(new Tooltip("Run all at once [F5]"));
this.stepByStepButton = new Button("", new ImageView(new Image(getClass().getResource("/resources/runByStep.png").toExternalForm())));
this.stepByStepButton.setTooltip(new Tooltip("Execute the highlighted instruction [F11]"));
this.reloadButton = new Button("", new ImageView(new Image(getClass().getResource("/resources/reload.png").toExternalForm())));
this.reloadButton.setTooltip(new Tooltip("Reset CPU [CTRL-R]"));
this.stopButton = new Button("", new ImageView(new Image(getClass().getResource("/resources/stop.png").toExternalForm())));
this.stopButton.setTooltip(new Tooltip("Stop simulation"));
this.toolBar = new ToolBar(switchButton, new Separator(), runButton, stepByStepButton, reloadButton, stopButton);
this.switchButton.getStyleClass().add("buttonToolBar");
this.runButton.getStyleClass().add("buttonToolBar");
this.stepByStepButton.getStyleClass().add("buttonToolBar");
this.reloadButton.getStyleClass().add("buttonToolBar");
this.stopButton.getStyleClass().add("buttonToolBar");
this.disableInEdition = new HashSet<>();
disableInEdition.add(runButton);
disableInEdition.add(stepByStepButton);
disableInEdition.add(reloadButton);
disableInEdition.add(stopButton);
}
public VLToolBar createToolbar(ResourceView resourceView) {
VLToolBar toolbar = new VLToolBar();
Button expandAll = FXUIUtils.createButton("expandAll", "Expand the resource tree");
expandAll.setOnAction((event) -> resourceView.expandAll());
toolbar.add(expandAll);
Button collapseAll = FXUIUtils.createButton("collapseAll", "Collapse the resource tree");
collapseAll.setOnAction((event) -> resourceView.collapseAll());
toolbar.add(collapseAll);
toolbar.add(new Separator(javafx.geometry.Orientation.VERTICAL));
Button cut = FXUIUtils.createButton("cut", "Cut the selected content to clipboard");
cut.setOnAction((event) -> resourceView.cut());
toolbar.add(cut);
Button copy = FXUIUtils.createButton("copy", "Copy the selected content to clipboard");
copy.setOnAction((event) -> resourceView.copy());
toolbar.add(copy);
Button paste = FXUIUtils.createButton("paste", "Paste clipboard contents");
paste.setOnAction((event) -> resourceView.paste());
toolbar.add(paste);
ListChangeListener<? super TreeItem<Resource>> listener = new ListChangeListener<TreeItem<Resource>>() {
@Override
public void onChanged(javafx.collections.ListChangeListener.Change<? extends TreeItem<Resource>> c) {
cut.setDisable(resourceView.getSelectionModel().getSelectedItems().size() <= 0);
copy.setDisable(resourceView.getSelectionModel().getSelectedItems().size() <= 0);
paste.setDisable(resourceView.getSelectionModel().getSelectedItems().size() != 1);
}
};
resourceView.getSelectionModel().getSelectedItems().addListener(listener);
return toolbar;
}
private void initComponents() {
initListView();
if (doesAllowChildren) {
newFolderButton.setOnAction((e) -> onNewFolder());
Region region = new Region();
HBox.setHgrow(region, Priority.ALWAYS);
toolBar.getItems().addAll(region, newFolderButton);
initTreeView();
folderView.getChildren().addAll(toolBar, parentTreeView);
splitPane.setDividerPositions(0.4);
splitPane.getItems().addAll(folderView, childrenListView);
}
cancelButton.setOnAction((e) -> onCancel());
if (fileChooserInfo.isFileCreation()) {
createButton.setOnAction((e) -> onSave());
buttonBar.getButtons().addAll(createButton, cancelButton);
} else {
saveButton.setOnAction((e) -> onSave());
buttonBar.getButtons().addAll(saveButton, cancelButton);
}
fileNameBox.textProperty().addListener((observable, oldvalue, newvalue) -> {
String text = fileNameBox.getText();
saveButton.setDisable(text == null || "".equals(text));
createButton.setDisable(text == null || "".equals(text));
});
FormPane form = new FormPane("marathon-module-form", 2);
form.addFormField("File Name: ", fileNameBox);
Separator separator = new Separator();
HBox.setHgrow(separator, Priority.ALWAYS);
centerPane.getChildren().addAll(separator, form);
}
private Node addSeparator(String name) {
Separator separator = new Separator();
separator.setPadding(new Insets(8, 0, 0, 0));
HBox.setHgrow(separator, Priority.ALWAYS);
Text text = new Text(name);
text.setTextAlignment(TextAlignment.CENTER);
HBox hBox = new HBox(text, separator);
HBox.setHgrow(hBox, Priority.ALWAYS);
return hBox;
}
@Override
protected VBox createVBox(boolean selectable, boolean editable) {
VBox headerBox = new VBox();
HBox hBox = new HBox();
Separator separator = new Separator();
HBox.setHgrow(separator, Priority.ALWAYS);
separator.setStyle("-fx-padding: 8 0 0 3;");
hBox.getChildren().addAll(new Label(item.getLabel()), separator);
headerBox.getChildren().add(hBox);
return headerBox;
}
protected BorderPane getRootPane() {
ModalDialog<?> modalDialog = getModalDialog();
BorderPane sceneContent = new BorderPane();
if (modalDialog != null) {
String title = modalDialog.getTitle();
String subTitle = modalDialog.getSubTitle();
Node icon = modalDialog.getIcon();
if (title != null && !"".equals(title)) {
VBox titleBox = new VBox();
Label titleLabel = new Label(title, icon);
titleLabel.getStyleClass().add("modaldialog-title");
titleBox.getChildren().add(titleLabel);
if (subTitle != null) {
Label subTitleLabel = new Label(subTitle);
subTitleLabel.getStyleClass().add("modaldialog-subtitle");
if (icon != null)
subTitleLabel.setPadding(new Insets(0, 0, 0, 20));
titleBox.getChildren().add(subTitleLabel);
}
titleBox.getChildren().add(new Separator());
sceneContent.setTop(titleBox);
}
sceneContent.setCenter(modalDialog.getContentPane());
}
return sceneContent;
}