Java Code Examples for javafx.scene.control.DialogPane#setContent()

The following examples show how to use javafx.scene.control.DialogPane#setContent() . 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: AlertHelper.java    From AsciidocFX with Apache License 2.0 7 votes vote down vote up
public static void showDuplicateWarning(List<String> duplicatePaths, Path lib) {
    Alert alert = new WindowModalAlert(Alert.AlertType.WARNING);

    DialogPane dialogPane = alert.getDialogPane();

    ListView listView = new ListView();
    listView.getStyleClass().clear();
    ObservableList items = listView.getItems();
    items.addAll(duplicatePaths);
    listView.setEditable(false);

    dialogPane.setContent(listView);

    alert.setTitle("Duplicate JARs found");
    alert.setHeaderText(String.format("Duplicate JARs found, it may cause unexpected behaviours.\n\n" +
            "Please remove the older versions from these pair(s) manually. \n" +
            "JAR files are located at %s directory.", lib));
    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.OK);
    alert.showAndWait();
}
 
Example 2
Source File: UserGuiInteractor.java    From kafka-message-tool with MIT License 5 votes vote down vote up
@Override
public void showConfigEntriesInfoDialog(String title,
                                        String header,
                                        ConfigEntriesView entriesView) {
    final Alert alert = getConfigEntriesViewDialog(header);
    alert.setTitle(title);
    final DialogPane dialogPane = alert.getDialogPane();
    dialogPane.setContent(entriesView);
    alert.setResizable(true);
    alert.showAndWait();

}
 
Example 3
Source File: PasswordDialog.java    From phoebus with Eclipse Public License 1.0 5 votes vote down vote up
/** @param title Title, message
 *  @param correct_password Password to check
 */
public PasswordDialog(final String title, final String correct_password)
{
    this.correct_password = correct_password;
    final DialogPane pane = getDialogPane();

    pass_entry.setPromptText(Messages.Password_Prompt);
    pass_entry.setMaxWidth(Double.MAX_VALUE);

    HBox.setHgrow(pass_entry, Priority.ALWAYS);

    pane.setContent(new HBox(6, pass_caption, pass_entry));

    pane.setMinSize(300, 150);
    setResizable(true);

    setTitle(Messages.Password);
    setHeaderText(title);
    pane.getStyleClass().add("text-input-dialog");
    pane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

    // Check password in dialog?
    if (correct_password != null  &&  correct_password.length() > 0)
    {
        final Button okButton = (Button) pane.lookupButton(ButtonType.OK);
        okButton.addEventFilter(ActionEvent.ACTION, event ->
        {
            if (! checkPassword())
                event.consume();
        });
    }

    setResultConverter((button) ->
    {
        return button.getButtonData() == ButtonData.OK_DONE ? pass_entry.getText() : null;
    });

    Platform.runLater(() -> pass_entry.requestFocus());
}
 
Example 4
Source File: LinkDialog.java    From markdown-writer-fx with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public LinkDialog(Window owner, Path basePath) {
	setTitle(Messages.get("LinkDialog.title"));
	initOwner(owner);
	setResizable(true);

	initComponents();

	linkBrowseDirectoyButton.setBasePath(basePath);
	linkBrowseDirectoyButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	linkBrowseFileButton.setBasePath(basePath);
	linkBrowseFileButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	DialogPane dialogPane = getDialogPane();
	dialogPane.setContent(pane);
	dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

	dialogPane.lookupButton(ButtonType.OK).disableProperty().bind(
			urlField.escapedTextProperty().isEmpty());

	Utils.fixSpaceAfterDeadKey(dialogPane.getScene());

	link.bind(Bindings.when(titleField.escapedTextProperty().isNotEmpty())
			.then(Bindings.format("[%s](%s \"%s\")", textField.escapedTextProperty(), urlField.escapedTextProperty(), titleField.escapedTextProperty()))
			.otherwise(Bindings.when(textField.escapedTextProperty().isNotEmpty())
					.then(Bindings.format("[%s](%s)", textField.escapedTextProperty(), urlField.escapedTextProperty()))
					.otherwise(Bindings.format("<%s>", urlField.escapedTextProperty()))));
	previewField.textProperty().bind(link);

	setResultConverter(dialogButton -> {
		return (dialogButton == ButtonType.OK) ? link.get() : null;
	});

	Platform.runLater(() -> {
		urlField.requestFocus();

		if (urlField.getText().startsWith("http://"))
			urlField.selectRange("http://".length(), urlField.getLength());
	});
}
 
Example 5
Source File: ImageDialog.java    From markdown-writer-fx with BSD 2-Clause "Simplified" License 5 votes vote down vote up
public ImageDialog(Window owner, Path basePath) {
	setTitle(Messages.get("ImageDialog.title"));
	initOwner(owner);
	setResizable(true);

	initComponents();

	linkBrowseFileButton.setBasePath(basePath);
	linkBrowseFileButton.addExtensionFilter(new ExtensionFilter(Messages.get("ImageDialog.chooser.imagesFilter"), "*.png", "*.gif", "*.jpg", "*.svg"));
	linkBrowseFileButton.urlProperty().bindBidirectional(urlField.escapedTextProperty());

	DialogPane dialogPane = getDialogPane();
	dialogPane.setContent(pane);
	dialogPane.getButtonTypes().addAll(ButtonType.OK, ButtonType.CANCEL);

	dialogPane.lookupButton(ButtonType.OK).disableProperty().bind(
			urlField.escapedTextProperty().isEmpty()
				.or(textField.escapedTextProperty().isEmpty()));

	Utils.fixSpaceAfterDeadKey(dialogPane.getScene());

	image.bind(Bindings.when(titleField.escapedTextProperty().isNotEmpty())
			.then(Bindings.format("![%s](%s \"%s\")", textField.escapedTextProperty(), urlField.escapedTextProperty(), titleField.escapedTextProperty()))
			.otherwise(Bindings.format("![%s](%s)", textField.escapedTextProperty(), urlField.escapedTextProperty())));
	previewField.textProperty().bind(image);

	setResultConverter(dialogButton -> {
		return (dialogButton == ButtonType.OK) ? image.get() : null;
	});

	Platform.runLater(() -> {
		urlField.requestFocus();

		if (urlField.getText().startsWith("http://"))
			urlField.selectRange("http://".length(), urlField.getLength());
	});
}
 
Example 6
Source File: AlertHelper.java    From AsciidocFX with Apache License 2.0 5 votes vote down vote up
public static Optional<String> showOldConfiguration(List<String> paths) {
    Alert alert = new WindowModalAlert(AlertType.INFORMATION);

    DialogPane dialogPane = alert.getDialogPane();

    ListView listView = new ListView();
    listView.getStyleClass().clear();
    ObservableList items = listView.getItems();
    items.addAll(paths);
    listView.setEditable(false);

    dialogPane.setContent(listView);

    alert.setTitle("Load previous configuration?");
    alert.setHeaderText(String.format("You have configuration files from previous AsciidocFX versions\n\n" +
            "Select the configuration which you want to load configuration \n" +
            "or continue with fresh configuration"));
    alert.getButtonTypes().clear();
    alert.getButtonTypes().addAll(ButtonType.APPLY);
    alert.getButtonTypes().addAll(ButtonType.CANCEL);
    ButtonType buttonType = alert.showAndWait().orElse(ButtonType.CANCEL);

    Object selectedItem = listView.getSelectionModel().getSelectedItem();
    return (buttonType == ButtonType.APPLY) ?
            Optional.ofNullable((String) selectedItem) :
            Optional.empty();
}
 
Example 7
Source File: WKTPane.java    From sis with Apache License 2.0 5 votes vote down vote up
public static void showDialog(Object parent, FormattableObject candidate){
    final WKTPane chooser = new WKTPane(candidate);

    final Alert alert = new Alert(Alert.AlertType.NONE);
    final DialogPane pane = alert.getDialogPane();
    pane.setContent(chooser);
    alert.getButtonTypes().setAll(ButtonType.OK);
    alert.setResizable(true);
    alert.showAndWait();
}
 
Example 8
Source File: CRSChooser.java    From sis with Apache License 2.0 5 votes vote down vote up
/**
 * Show a modal dialog to select a {@link CoordinateReferenceSystem}.
 *
 * @param parent parent frame of widget.
 * @param crs {@link CoordinateReferenceSystem} to edit.
 * @return modified {@link CoordinateReferenceSystem}.
 */
public static CoordinateReferenceSystem showDialog(Object parent, CoordinateReferenceSystem crs) {
    final CRSChooser chooser = new CRSChooser();
    chooser.crsProperty.set(crs);
    final Alert alert = new Alert(Alert.AlertType.NONE);
    final DialogPane pane = alert.getDialogPane();
    pane.setContent(chooser);
    alert.getButtonTypes().setAll(ButtonType.OK,ButtonType.CANCEL);
    alert.setResizable(true);
    final ButtonType res = alert.showAndWait().orElse(ButtonType.CANCEL);
    return res == ButtonType.CANCEL ? null : chooser.crsProperty.get();
}
 
Example 9
Source File: CombinedModuleSetHighlightDialog.java    From mzmine3 with GNU General Public License v2.0 4 votes vote down vote up
public CombinedModuleSetHighlightDialog(@Nonnull Stage parent, @Nonnull CombinedModulePlot plot,
    @Nonnull String command) {

  desktop = MZmineCore.getDesktop();
  this.plot = plot;
  rangeType = command;
  mainPane = new DialogPane();
  mainScene = new Scene(mainPane);

  // Use main CSS
  mainScene.getStylesheets()
      .addAll(MZmineCore.getDesktop().getMainWindow().getScene().getStylesheets());
  setScene(mainScene);

  initOwner(parent);

  String title = "Highlight ";
  if (command.equals("HIGHLIGHT_PRECURSOR")) {
    title += "precursor m/z range";
    axis = plot.getXYPlot().getDomainAxis();
  } else if (command.equals("HIGHLIGHT_NEUTRALLOSS")) {
    title += "neutral loss m/z range";
    axis = plot.getXYPlot().getRangeAxis();
  }
  setTitle(title);

  Label lblMinMZ = new Label("Minimum m/z");
  Label lblMaxMZ = new Label("Maximum m/z");

  NumberStringConverter converter = new NumberStringConverter();

  fieldMinMZ = new TextField();
  fieldMinMZ.setTextFormatter(new TextFormatter<>(converter));
  fieldMaxMZ = new TextField();
  fieldMaxMZ.setTextFormatter(new TextFormatter<>(converter));

  pnlLabelsAndFields = new GridPane();
  pnlLabelsAndFields.setHgap(5);
  pnlLabelsAndFields.setVgap(10);

  int row = 0;
  pnlLabelsAndFields.add(lblMinMZ, 0, row);
  pnlLabelsAndFields.add(fieldMinMZ, 1, row);

  row++;
  pnlLabelsAndFields.add(lblMaxMZ, 0, row);
  pnlLabelsAndFields.add(fieldMaxMZ, 1, row);

  // Create buttons
  mainPane.getButtonTypes().add(ButtonType.OK);
  mainPane.getButtonTypes().add(ButtonType.CANCEL);

  btnOK = (Button) mainPane.lookupButton(ButtonType.OK);
  btnOK.setOnAction(e -> {
    if (highlightDataPoints()) {
      hide();
    }
  });
  btnCancel = (Button) mainPane.lookupButton(ButtonType.CANCEL);
  btnCancel.setOnAction(e -> hide());

  mainPane.setContent(pnlLabelsAndFields);

  sizeToScene();
  centerOnScreen();
  setResizable(false);

}
 
Example 10
Source File: ProductIonFilterSetHighlightDialog.java    From mzmine3 with GNU General Public License v2.0 4 votes vote down vote up
public ProductIonFilterSetHighlightDialog(@Nonnull Stage parent, ProductIonFilterPlot plot,
    String command) {

  this.desktop = MZmineCore.getDesktop();
  this.plot = plot;
  this.rangeType = command;
  mainPane = new DialogPane();
  mainScene = new Scene(mainPane);
  mainScene.getStylesheets()
      .addAll(MZmineCore.getDesktop().getMainWindow().getScene().getStylesheets());
  setScene(mainScene);
  initOwner(parent);
  String title = "Highlight ";
  if (command.equals("HIGHLIGHT_PRECURSOR")) {
    title += "precursor m/z range";
    axis = plot.getXYPlot().getDomainAxis();
  } else if (command.equals("HIGHLIGHT_NEUTRALLOSS")) {
    title += "neutral loss m/z range";
    axis = plot.getXYPlot().getRangeAxis();
  }
  setTitle(title);

  Label lblMinMZ = new Label("Minimum m/z");
  Label lblMaxMZ = new Label("Maximum m/z");

  NumberStringConverter converter = new NumberStringConverter();

  fieldMinMZ = new TextField();
  fieldMinMZ.setTextFormatter(new TextFormatter<>(converter));
  fieldMaxMZ = new TextField();
  fieldMaxMZ.setTextFormatter(new TextFormatter<>(converter));

  pnlLabelsAndFields = new GridPane();
  pnlLabelsAndFields.setHgap(5);
  pnlLabelsAndFields.setVgap(10);

  int row = 0;
  pnlLabelsAndFields.add(lblMinMZ, 0, row);
  pnlLabelsAndFields.add(fieldMinMZ, 1, row);

  row++;
  pnlLabelsAndFields.add(lblMaxMZ, 0, row);
  pnlLabelsAndFields.add(fieldMaxMZ, 1, row);

  // Create buttons
  mainPane.getButtonTypes().add(ButtonType.OK);
  mainPane.getButtonTypes().add(ButtonType.CANCEL);

  btnOK = (Button) mainPane.lookupButton(ButtonType.OK);
  btnOK.setOnAction(e -> {
    if (highlightDataPoints()) {
      hide();
    }
  });
  btnCancel = (Button) mainPane.lookupButton(ButtonType.CANCEL);
  btnCancel.setOnAction(e -> hide());

  mainPane.setContent(pnlLabelsAndFields);

  sizeToScene();
  centerOnScreen();
  setResizable(false);
}
 
Example 11
Source File: OptionsDialog.java    From markdown-writer-fx with BSD 2-Clause "Simplified" License 4 votes vote down vote up
public OptionsDialog(Window owner) {
	setTitle(Messages.get("OptionsDialog.title"));
	initOwner(owner);

	initComponents();

	tabPane.getStyleClass().add(TabPane.STYLE_CLASS_FLOATING);

	// add "Store in project" checkbox to buttonbar
	boolean oldStoreInProject = Options.isStoreInProject();
	ButtonType storeInProjectButtonType = new ButtonType(Messages.get("OptionsDialog.storeInProject.text"), ButtonData.LEFT);
	setDialogPane(new DialogPane() {
		@Override
		protected Node createButton(ButtonType buttonType) {
			if (buttonType == storeInProjectButtonType) {
				CheckBox storeInProjectButton = new CheckBox(buttonType.getText());
				ButtonBar.setButtonData(storeInProjectButton, buttonType.getButtonData());
				storeInProjectButton.setSelected(oldStoreInProject);
				storeInProjectButton.setDisable(ProjectManager.getActiveProject() == null);
				return storeInProjectButton;
			}
			return super.createButton(buttonType);
		}
	});

	DialogPane dialogPane = getDialogPane();
	dialogPane.setContent(tabPane);
	dialogPane.getButtonTypes().addAll(storeInProjectButtonType, ButtonType.OK, ButtonType.CANCEL);

	// save options on OK clicked
	dialogPane.lookupButton(ButtonType.OK).addEventHandler(ActionEvent.ACTION, e -> {
		boolean newStoreInProject = ((CheckBox)dialogPane.lookupButton(storeInProjectButtonType)).isSelected();
		if (newStoreInProject != oldStoreInProject)
			Options.storeInProject(newStoreInProject);

		save();
		e.consume();
	});

	Utils.fixSpaceAfterDeadKey(dialogPane.getScene());

	// load options
	load();

	// select last tab
	int tabIndex = MarkdownWriterFXApp.getState().getInt("lastOptionsTab", -1);
	if (tabIndex > 0 && tabIndex < tabPane.getTabs().size())
		tabPane.getSelectionModel().select(tabIndex);

	// remember last selected tab
	setOnHidden(e -> {
		MarkdownWriterFXApp.getState().putInt("lastOptionsTab", tabPane.getSelectionModel().getSelectedIndex());
	});
}
 
Example 12
Source File: AlertHelper.java    From AsciidocFX with Apache License 2.0 4 votes vote down vote up
static Alert buildDeleteAlertDialog(List<Path> pathsLabel) {
    Alert deleteAlert = new WindowModalAlert(Alert.AlertType.WARNING, null, ButtonType.YES, ButtonType.CANCEL);
    deleteAlert.setHeaderText("Do you want to delete selected path(s)?");
    DialogPane dialogPane = deleteAlert.getDialogPane();

    ObservableList<Path> paths = Optional.ofNullable(pathsLabel)
            .map(FXCollections::observableList)
            .orElse(FXCollections.emptyObservableList());

    if (paths.isEmpty()) {
        dialogPane.setContentText("There are no files selected.");
        deleteAlert.getButtonTypes().clear();
        deleteAlert.getButtonTypes().add(ButtonType.CANCEL);
        return deleteAlert;
    }

    ListView<Path> listView = new ListView<>(paths);
    listView.setId("listOfPaths");

    GridPane gridPane = new GridPane();
    gridPane.addRow(0, listView);
    GridPane.setHgrow(listView, Priority.ALWAYS);

    double minWidth = 200.0;
    double maxWidth = Screen.getScreens().stream()
            .mapToDouble(s -> s.getBounds().getWidth() / 3)
            .min().orElse(minWidth);

    double prefWidth = paths.stream()
            .map(String::valueOf)
            .mapToDouble(s -> s.length() * 7)
            .max()
            .orElse(maxWidth);

    double minHeight = IntStream.of(paths.size())
            .map(e -> e * 70)
            .filter(e -> e <= 300 && e >= 70)
            .findFirst()
            .orElse(200);

    gridPane.setMinWidth(minWidth);
    gridPane.setPrefWidth(prefWidth);
    gridPane.setPrefHeight(minHeight);
    dialogPane.setContent(gridPane);
    return deleteAlert;
}