Java Code Examples for javafx.scene.control.TextInputDialog#showAndWait()

The following examples show how to use javafx.scene.control.TextInputDialog#showAndWait() . 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: ClientDisplay.java    From Open-Lowcode with Eclipse Public License 2.0 6 votes vote down vote up
/**
 * @param title      null if user pressed cancel, or the text entered if pressed
 *                   OK (if pressed OK with no text entered, empty string is
 *                   brought back
 * @param textlength the maximum length of text to enter
 * @return
 */
public String showModalTextEntry(String title, int textlength) {
	logger.fine("NormalTextEntry " + title + " - " + textlength);

	logger.fine(" prepare to launch dialog");
	TextInputDialog dialog = new TextInputDialog();

	dialog.setHeaderText("Enter Update Note below");
	dialog.setContentText("");

	Optional<String> result = dialog.showAndWait();
	logger.fine(" dialog is displayed");

	if (!result.isPresent())
		return null;
	return result.get();

}
 
Example 2
Source File: JsonIODialog.java    From constellation with Apache License 2.0 6 votes vote down vote up
/**
 * Displays a small window allowing the user to enter a name for the new
 * preference
 *
 * @author formalhaut69
 * @return A tuple, the first item is a Boolean indicating whether the user
 * selected to proceed with the operation or not, the second is the name of
 * the file requested by the user.
 */
public static Tuple<Boolean, String> getName() {
    String returnedName = "";

    // opens up a slightly different dialog window to allow the user to name the
    // preference when it is being saved
    // create a text input dialog 
    TextInputDialog td = new TextInputDialog();
    td.setTitle("Preference name");
    // setHeaderText 
    td.setHeaderText("Enter a name for the preference");
    Optional<String> result = td.showAndWait();
    if (result.isPresent()) {
        returnedName = td.getEditor().getText();
    }
    return new Tuple<>(result.isPresent(), returnedName);
}
 
Example 3
Source File: AddWebActionHandler.java    From Quelea with GNU General Public License v3.0 6 votes vote down vote up
@Override
public void handle(ActionEvent t) {
    TextInputDialog dialog = new TextInputDialog("http://");
    dialog.setTitle(LabelGrabber.INSTANCE.getLabel("website.dialog.title"));
    dialog.setHeaderText(LabelGrabber.INSTANCE.getLabel("website.dialog.header"));
    dialog.setContentText(LabelGrabber.INSTANCE.getLabel("website.dialog.content"));
    dialog.setGraphic(new ImageView(new Image("file:icons/website.png")));
    Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
    stage.getIcons().add(new Image("file:icons/web-small.png"));

    Optional<String> result = dialog.showAndWait();
    if (result.isPresent()) {
        String url = result.get();
        if (!url.startsWith("http")) {
            url = "http://" + url;
        }
        WebDisplayable displayable = new WebDisplayable(url);
        QueleaApp.get().getMainWindow().getMainPanel().getSchedulePanel().getScheduleList().add(displayable);
    }
}
 
Example 4
Source File: MediaTableController.java    From MyBox with Apache License 2.0 6 votes vote down vote up
@FXML
public void addLinkAction() {
    try {
        // http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8
        TextInputDialog dialog = new TextInputDialog("http://devimages.apple.com/iphone/samples/bipbop/gear1/prog_index.m3u8");
        dialog.setTitle(message("HTTPLiveStreaming"));
        dialog.setHeaderText(message("InputAddress"));
        dialog.setContentText("HLS(.m3u8)");
        dialog.getEditor().setPrefWidth(500);
        Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
        stage.setAlwaysOnTop(true);
        stage.toFront();

        Optional<String> result = dialog.showAndWait();
        if (!result.isPresent()) {
            return;
        }
        String address = result.get();
        addLink(address);

    } catch (Exception e) {
        logger.error(e.toString());
    }

}
 
Example 5
Source File: Dialogs.java    From megan-ce with GNU General Public License v3.0 6 votes vote down vote up
/**
 * show an input dialog
 *
 * @param swingParent
 * @param title
 * @param message
 * @param initialValue
 * @return
 */
private static String showInput(final Component swingParent, final String title, final String message, final String initialValue) {
    final Single<String> input = new Single<>(null);

    if (Platform.isFxApplicationThread()) {
        final TextInputDialog dialog = new TextInputDialog(initialValue != null ? initialValue : "");
        dialog.setTitle(title);
        dialog.setHeaderText(message);

        final Optional<String> result = dialog.showAndWait();
        result.ifPresent(input::set);

    } else if (javax.swing.SwingUtilities.isEventDispatchThread()) {
        input.set(JOptionPane.showInputDialog(swingParent, message, initialValue));
    } else {
        try {
            SwingUtilities.invokeAndWait(() -> input.set(showInput(swingParent, title, message, initialValue)));
        } catch (Exception e) {
            Basic.caught(e);
        }
    }
    return input.get();
}
 
Example 6
Source File: DownloadController.java    From MyBox with Apache License 2.0 6 votes vote down vote up
@FXML
protected void plusAction() {
    try {
        TextInputDialog dialog = new TextInputDialog("https://");
        dialog.setTitle(message("DownloadManage"));
        dialog.setHeaderText(message("InputAddress"));
        dialog.setContentText("");
        dialog.getEditor().setPrefWidth(500);
        Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
        stage.setAlwaysOnTop(true);
        stage.toFront();
        Optional<String> result = dialog.showAndWait();
        if (!result.isPresent()) {
            return;
        }
        String address = result.get();
        download(address);

    } catch (Exception e) {
        logger.error(e.toString());
    }
}
 
Example 7
Source File: MyBoxLanguagesController.java    From MyBox with Apache License 2.0 6 votes vote down vote up
@FXML
public void plusAction() {
    TextInputDialog dialog = new TextInputDialog("");
    dialog.setTitle(message("ManageLanguages"));
    dialog.setHeaderText(message("InputLangaugeName"));
    dialog.setContentText("");
    dialog.getEditor().setPrefWidth(200);
    Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
    stage.setAlwaysOnTop(true);
    stage.toFront();

    Optional<String> result = dialog.showAndWait();
    if (!result.isPresent() || result.get().trim().isBlank()) {
        return;
    }
    langName = result.get().trim();
    langLabel.setText(langName);
    loadLanguage(null);
}
 
Example 8
Source File: Network.java    From PeerWasp with MIT License 6 votes vote down vote up
@FXML
public void editAction(ActionEvent event) {
	// load current selection and allow user to change value
	int index = lwBootstrappingNodes.getSelectionModel().getSelectedIndex();
	String nodeAddress = lwBootstrappingNodes.getSelectionModel().getSelectedItem();

	TextInputDialog input = new TextInputDialog();
	DialogUtils.decorateDialogWithIcon(input);
	input.getEditor().setText(nodeAddress);
	input.setTitle("Edit Node Address");
	input.setHeaderText("Enter node address");
	Optional<String> result = input.showAndWait();

	if(result.isPresent()) {
		String newNodeAddress = result.get().trim();
		if (!newNodeAddress.isEmpty() && !containsAddress(newNodeAddress)) {
			addresses.add(index, newNodeAddress);
			addresses.remove(nodeAddress);
		}
	}
}
 
Example 9
Source File: Network.java    From PeerWasp with MIT License 5 votes vote down vote up
@FXML
public void addAction(ActionEvent event) {
	// request node address from user and add
	TextInputDialog input = new TextInputDialog();
	DialogUtils.decorateDialogWithIcon(input);
	input.getEditor().setPromptText("Enter address");
	input.setTitle("New Node Address");
	input.setHeaderText("Enter new node address");
	Optional<String> result = input.showAndWait();

	if (result.isPresent()) {
		String nodeAddress = result.get().trim();
		addItemIgnoreDuplicate(nodeAddress);
	}
}
 
Example 10
Source File: NewVitaminWizardController.java    From BowlerStudio with GNU General Public License v3.0 5 votes vote down vote up
@FXML
  void onNewMeasurment(ActionEvent event) {
newMeasurmentButton.setDisable(true);
TextInputDialog dialog = new TextInputDialog("lengthOfThing");
dialog.setTitle("Add new measurment to "+typeOfVitaminString);
dialog.setHeaderText("This measurment will be added to all instances of the vitamin");
dialog.setContentText("New measurment name:");

// Traditional way to get the response value.
Optional<String> result = dialog.showAndWait();
// The Java 8 way to get the response value (with lambda expression).
result.ifPresent(name -> { 
	TextInputDialog dialog2 = new TextInputDialog("0.0");
	dialog2.setTitle("Set value of "+name);
	dialog2.setHeaderText("This value will be added to all instances of the vitamin");
	dialog2.setContentText(name+" = ");

	// Traditional way to get the response value.
	Optional<String> result2 = dialog2.showAndWait();
	result2.ifPresent(name2 -> { 
		setupKeyValueToTable(name,name2,sizeOfVitaminString);
		for(String size:Vitamins.listVitaminSizes(typeOfVitaminString)) {
			Vitamins.getConfiguration(typeOfVitaminString, size).put(name,name2);
		}
	});
	newMeasurmentButton.setDisable(false);
	
});


  }
 
Example 11
Source File: DialogUtils.java    From qiniu with MIT License 5 votes vote down vote up
public static String showInputDialog(String header, String content, String defaultValue) {
    TextInputDialog dialog = new TextInputDialog(defaultValue);
    dialog.setTitle(QiniuValueConsts.MAIN_TITLE);
    dialog.setHeaderText(header);
    dialog.setContentText(content);
    Optional<String> result = dialog.showAndWait();
    return result.orElse(null);
}
 
Example 12
Source File: AppUtils.java    From java-ml-projects with Apache License 2.0 5 votes vote down vote up
public static Optional<String> askInputFromUser(String title, String msg) {
	TextInputDialog dialog = new TextInputDialog();
	dialog.setTitle(title);
	dialog.setHeaderText(null);
	dialog.setContentText(msg);
	return dialog.showAndWait();
}
 
Example 13
Source File: AppUtils.java    From java-ml-projects with Apache License 2.0 5 votes vote down vote up
public static Optional<String> askInputFromUser(String title, String msg) {
	TextInputDialog dialog = new TextInputDialog();
	dialog.setTitle(title);
	dialog.setHeaderText(null);
	dialog.setContentText(msg);
	return dialog.showAndWait();
}
 
Example 14
Source File: CheckListView.java    From marathonv5 with Apache License 2.0 5 votes vote down vote up
public void onChecklist() {
    TextInputDialog input = new TextInputDialog();
    input.setTitle("New Checklist Item");
    input.setContentText("Label: ");
    input.setHeaderText("Please enter item label.");
    Optional<String> result = input.showAndWait();
    result.ifPresent(name -> {
        checkListFormNode.addCheckListItem(name);
        fireContentChanged();
    });
}
 
Example 15
Source File: CheckListView.java    From marathonv5 with Apache License 2.0 5 votes vote down vote up
public void onHeader() {
    TextInputDialog input = new TextInputDialog();
    input.setTitle("New Header");
    input.setContentText("Label: ");
    input.setHeaderText("Please enter header text.");
    Optional<String> result = input.showAndWait();
    result.ifPresent(name -> {
        checkListFormNode.addHeader(name);
        fireContentChanged();
    });
}
 
Example 16
Source File: MediaTableController.java    From MyBox with Apache License 2.0 5 votes vote down vote up
@FXML
@Override
public void saveAction() {
    if (mediaListName == null || mediaListName.isBlank()) {
        if (tableData.isEmpty()) {
            tableLabel.setText("");
            return;
        }
        TextInputDialog dialog = new TextInputDialog("");
        dialog.setTitle(message("ManageMediaLists"));
        dialog.setHeaderText(message("InputMediaListName"));
        dialog.setContentText("");
        dialog.getEditor().setPrefWidth(400);
        Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
        stage.setAlwaysOnTop(true);
        stage.toFront();

        Optional<String> result = dialog.showAndWait();
        if (!result.isPresent() || result.get().trim().isBlank()) {
            return;
        }
        mediaListName = result.get().trim();
    }
    if (TableMediaList.set(mediaListName, tableData)) {
        tableLabel.setText(message("MediaList") + ": " + mediaListName);
        if (parentController != null) {
            parentController.popSuccessful();
            if (parentController instanceof MediaListController) {
                ((MediaListController) parentController).update(mediaListName);
            }
        }
    } else {
        if (parentController != null) {
            parentController.popFailed();
        }
    }
}
 
Example 17
Source File: MediaListController.java    From MyBox with Apache License 2.0 5 votes vote down vote up
@FXML
@Override
public void saveAsAction() {
    MediaList selected = tableView.getSelectionModel().getSelectedItem();
    if (selected == null || selected.getMedias() == null) {
        return;
    }
    TextInputDialog dialog = new TextInputDialog("");
    dialog.setTitle(message("ManageMediaLists"));
    dialog.setHeaderText(message("InputMediaListName"));
    dialog.setContentText("");
    dialog.getEditor().setPrefWidth(400);
    Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
    stage.setAlwaysOnTop(true);
    stage.toFront();
    Optional<String> result = dialog.showAndWait();
    if (!result.isPresent() || result.get().trim().isBlank()) {
        return;
    }
    String newName = result.get().trim();
    for (MediaList list : tableData) {
        if (list.getName().equals(newName)) {
            popError(message("AlreadyExisted"));
            return;
        }
    }
    if (TableMediaList.set(newName, selected.getMedias())) {
        popSuccessful();
        tableData.add(MediaList.create().setName(newName).setMedias(selected.getMedias()));
    } else {
        popFailed();
    }

}
 
Example 18
Source File: FleetTabPane.java    From logbook-kai with MIT License 5 votes vote down vote up
/**
 * 分岐点係数を変更する
 *
 * @param event ActionEvent
 */
@FXML
void changeBranchCoefficient(ActionEvent event) {
    TextInputDialog dialog = new TextInputDialog(Double.toString(this.branchCoefficient));
    dialog.getDialogPane().getStylesheets().add("logbook/gui/application.css");
    InternalFXMLLoader.setGlobal(dialog.getDialogPane());
    dialog.initOwner(this.getScene().getWindow());
    dialog.setTitle("分岐点係数を変更");
    dialog.setHeaderText("分岐点係数を数値で入力してください 例)\n"
            + "沖ノ島沖 G,I,Jマス 係数: 1.0\n"
            + "北方AL海域 Gマス 係数: 4.0\n"
            + "中部海域哨戒線 G,Hマス 係数: 4.0\n"
            + "MS諸島沖 E,Iマス 係数: 3.0\n"
            + "グアノ環礁沖海域 Hマス 係数: 3.0");

    val result = dialog.showAndWait();
    if (result.isPresent()) {
        String value = result.get();
        if (!value.isEmpty()) {
            try {
                this.branchCoefficient = Double.parseDouble(value);
                this.setDecision33();
            } catch (NumberFormatException e) {
            }
        }
    }
}
 
Example 19
Source File: SecurityCertificatesAddController.java    From MyBox with Apache License 2.0 4 votes vote down vote up
@FXML
@Override
public void okAction() {
    if (certController == null) {
        return;
    }
    if (addressRadio.isSelected()) {
        if (addressInput.getText().isEmpty()) {
            popError(message("NotExist"));
            return;
        }
    } else {
        sourceFile = new File(sourceFileInput.getText());
        if (!sourceFile.exists() || !sourceFile.isFile()) {
            popError(message("NotExist"));
            return;
        }
    }

    File ksFile = new File(certController.getSourceFileInput().getText());
    if (!ksFile.exists() || !ksFile.isFile()) {
        popError(message("NotExist"));
        return;
    }
    String password = certController.getPasswordInput().getText();

    TextInputDialog dialog = new TextInputDialog("");
    dialog.setTitle(message("SecurityCertificates"));
    dialog.setHeaderText(message("Alias"));
    dialog.setContentText("");
    dialog.getEditor().setPrefWidth(300);
    Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
    stage.setAlwaysOnTop(true);
    stage.toFront();
    Optional<String> result = dialog.showAndWait();
    if (!result.isPresent() || result.get().trim().isBlank()) {
        return;
    }
    final String alias = result.get().trim();
    if (!certController.backupKeyStore()) {
        return;
    }
    try {
        synchronized (this) {
            if (task != null) {
                return;
            }
            task = new SingletonTask<Void>() {

                @Override
                protected boolean handle() {
                    error = null;

                    if (addressRadio.isSelected()) {
                        try {
                            error = NetworkTools.installCertificateByHost(
                                    ksFile.getAbsolutePath(), password,
                                    addressInput.getText(), alias);
                        } catch (Exception e) {
                            error = e.toString();
                        }
                    } else if (fileRadio.isSelected()) {
                        try {
                            error = NetworkTools.installCertificateByFile(
                                    ksFile.getAbsolutePath(), password,
                                    sourceFile, alias);
                        } catch (Exception e) {
                            error = e.toString();
                        }
                    }
                    return true;
                }

                @Override
                protected void whenSucceeded() {
                    if (error == null) {
                        certController.loadAll(alias);
                        if (saveCloseCheck.isSelected()) {
                            closeStage();
                        }
                        popSuccessful();
                    } else {
                        popError(error);
                    }
                }
            };
            openHandlingStage(task, Modality.WINDOW_MODAL);
            Thread thread = new Thread(task);
            thread.setDaemon(true);
            thread.start();
        }

    } catch (Exception e) {
        logger.error(e.toString());
    }
}
 
Example 20
Source File: SecurityCertificatesBypassController.java    From MyBox with Apache License 2.0 4 votes vote down vote up
@FXML
@Override
public void addAction() {
    try {
        TextInputDialog dialog = new TextInputDialog("docs.oracle.com");
        dialog.setTitle(message("SSLVerificationByPass"));
        dialog.setHeaderText(message("InputAddress"));
        dialog.setContentText("");
        dialog.getEditor().setPrefWidth(500);
        Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
        stage.setAlwaysOnTop(true);
        stage.toFront();

        Optional<String> result = dialog.showAndWait();
        if (!result.isPresent()) {
            return;
        }
        String address = result.get().trim();
        if (address.isBlank()) {
            return;
        }
        for (CertificateBypass p : tableData) {
            if (p.getHost().equals(address)) {
                return;
            }
        }
        if (TableBrowserBypassSSL.write(address)) {
            CertificateBypass newdata = TableBrowserBypassSSL.read(address);
            if (newdata != null) {
                tableData.add(newdata);
                tableView.refresh();
                popSuccessful();
            } else {
                popFailed();
            }
        } else {
            popFailed();
        }

    } catch (Exception e) {
        logger.error(e.toString());
    }

}