/* * PasswordDialog.java - Copyright(c) 2014 Joe Pasqua * Provided under the MIT License. See the LICENSE file for details. * Created: Sep 23, 2014 */ package org.noroomattheinn.visibletesla.dialogs; import javafx.geometry.Insets; import javafx.scene.control.Dialogs; import javafx.scene.control.Dialogs.DialogOptions; import javafx.scene.control.Dialogs.DialogResponse; import javafx.scene.control.Label; import javafx.scene.control.PasswordField; import javafx.scene.control.TextField; import javafx.scene.layout.GridPane; import javafx.stage.Stage; /** * PasswordDialog: Display a dialog that accepts a password * * @author Joe Pasqua <joe at NoRoomAtTheInn dot org> */ public class PasswordDialog { /*============================================================================== * ------- ------- * ------- Public Interface To This Class ------- * ------- ------- *============================================================================*/ public static String[] getCredentials( Stage stage, String title, String masthead, boolean promptForUsername) { GridPane grid = new GridPane(); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(0, 10, 0, 10)); int row = 0; final TextField username = new TextField(); if (promptForUsername) { username.setPromptText("Username"); grid.add(new Label("Username:"), 0, row); grid.add(username, 1, row); row++; } final PasswordField password = new PasswordField(); password.setPromptText("Password"); grid.add(new Label("Password:"), 0, row); grid.add(password, 1, row); DialogResponse resp = Dialogs.showCustomDialog( stage, grid, masthead, title, DialogOptions.OK_CANCEL, null); if (resp.equals(DialogResponse.CANCEL)) return null; String[] results = new String[2]; results[0] = promptForUsername ? username.getText() : null; results[1] = password.getText(); return results; } }