public void showEDResult(List<String> path) { // intialize alert/dialog to display edit distance result Alert alert = new Alert(AlertType.INFORMATION); alert.setTitle("Result"); alert.setHeaderText("Word Path : "); alert.initModality(Modality.NONE); alert.setResizable(true); // create layout for content VBox box = new VBox(); HBox midBox = new HBox(); box.setPadding(new Insets(35, 0, 35, 0)); box.setSpacing(35); midBox.setSpacing(15); Label pathLabel = new Label(); Label numStepsLabel = new Label("Number of steps : "); Label numSteps = new Label(); Font font = new Font(14); pathLabel.setFont(font); numStepsLabel.setFont(font); numSteps.setFont(Font.font(font.getFamily(), FontWeight.BOLD, 14)); midBox.getChildren().add(numStepsLabel); midBox.getChildren().add(numSteps); midBox.setAlignment(Pos.CENTER); box.getChildren().add(pathLabel); box.getChildren().add(midBox); box.setAlignment(Pos.CENTER); alert.getDialogPane().setPrefWidth(300); // check for path if (path != null) { numSteps.setText(Integer.toString(path.size() - 1)); pathLabel.setText(String.join(" -> ", path)); Text text = new Text(pathLabel.getText()); text.setFont(font); if (text.getLayoutBounds().getWidth() > 200) { alert.getDialogPane().setPrefWidth(text.getLayoutBounds().getWidth() + 100); } } // no path found else { pathLabel.setText("No Path Found."); numSteps.setText("N/A"); } // set content and styling alert.getDialogPane().setContent(box); alert .getDialogPane() .getStylesheets() .add(getClass().getResource("application.css").toExternalForm()); alert.getDialogPane().getStyleClass().add("myDialog"); alert.showAndWait(); }
public void view(ActionEvent actionEvent) { Alert alert = new Alert(Alert.AlertType.INFORMATION, orderArrayToString(), ButtonType.OK); alert.setHeaderText("View Order"); alert.setResizable(true); alert.getDialogPane().setPrefWidth(alert.getDialogPane().getWidth() * 2); // alert.setContentText(orderString.toString()); alert.show(); }
private String showCreateOrRenameDialog( final String title, final String headerText, final File parent, final String name, final NameVerifier nameVerifier) { final Alert alert = new Alert(AlertType.CONFIRMATION); alert.setTitle(title); alert.setHeaderText(headerText); final GridPane contentContainer = new GridPane(); contentContainer.setPadding(new Insets(8)); contentContainer.setHgap(8); contentContainer.setVgap(8); contentContainer.add(new Label("Parent:"), 0, 0); final TextField parentTextField = new TextField(); parentTextField.setEditable(false); parentTextField.setText(parent.getAbsolutePath()); contentContainer.add(parentTextField, 1, 0); contentContainer.add(new Label("Name:"), 0, 1); final TextField dirNameTextField = new TextField(); dirNameTextField.setText(name); GridPane.setHgrow(dirNameTextField, Priority.ALWAYS); contentContainer.add(dirNameTextField, 1, 1); final InvalidationListener updateDisableInvalidationListener = (observable) -> { final String dirName = dirNameTextField.getText(); final Node okButton = alert.getDialogPane().lookupButton(ButtonType.OK); if (isEmpty(dirName)) okButton.setDisable(true); else { final boolean nameAcceptable = nameVerifier.isNameAcceptable(dirName); okButton.setDisable(!nameAcceptable); } }; dirNameTextField.textProperty().addListener(updateDisableInvalidationListener); alert.getDialogPane().setContent(contentContainer); alert.setOnShowing( (event) -> { dirNameTextField.requestFocus(); dirNameTextField.selectAll(); updateDisableInvalidationListener.invalidated(null); }); if (alert.showAndWait().get() == ButtonType.OK) return dirNameTextField.getText(); else return null; }
private void selectDestFolder() { ListItem item = destDirectoryListView.getSelectionModel().getSelectedItem(); Alert confirm = new Alert(AlertType.CONFIRMATION); confirm.setTitle("ファイル移動"); confirm.setHeaderText(item.folder.getDestPath() + " に移動します。"); confirm.setOnCloseRequest( e -> { if (confirm.getResult() == ButtonType.OK) { try { item.folder.moveInto(this.targetFiles); Alert complete = new Alert(AlertType.INFORMATION); complete.setTitle("移動完了"); complete.setHeaderText(this.targetFiles.size() + " 件のファイルを移動しました。"); complete.setContentText("移動先:" + item.folder.getDestPath()); complete.show(); this.clear(); } catch (UncheckedIOException ex) { Alert error = new Alert(AlertType.ERROR); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); TextArea textArea = new TextArea(sw.toString()); error.getDialogPane().setExpandableContent(textArea); error.setContentText("ファイル保存中にエラーが発生しました。"); error.show(); } } }); confirm.show(); }
private void showDialog(String title, String message, Throwable throwable) { Alert alert = new Alert(Alert.AlertType.ERROR); alert.setTitle(title); alert.setHeaderText(title); alert.setContentText(message); StringWriter stringWriter = new StringWriter(); PrintWriter printwriter = new PrintWriter(stringWriter); throwable.printStackTrace(printwriter); String exceptionText = stringWriter.toString(); Label label = new Label("The exception stacktrace was:"); TextArea textArea = new TextArea(exceptionText); textArea.setEditable(false); textArea.setWrapText(true); textArea.setMaxWidth(Double.MAX_VALUE); textArea.setMaxHeight(Double.MAX_VALUE); GridPane.setVgrow(textArea, Priority.ALWAYS); GridPane.setHgrow(textArea, Priority.ALWAYS); GridPane expContent = new GridPane(); expContent.setMaxWidth(Double.MAX_VALUE); expContent.add(label, 0, 0); expContent.add(textArea, 0, 1); alert.getDialogPane().setExpandableContent(expContent); alert.showAndWait(); }
private Alert getAlert(Exception e, String message) { e.printStackTrace(); Alert alert = new Alert(AlertType.ERROR); alert.getDialogPane().setHeaderText("通信エラー"); alert.getDialogPane().setContentText(message); return alert; }
private void invoiceAlert(String message) { Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Invoice"); alert.setHeaderText(null); alert.setContentText(message); alert.getDialogPane().setStyle(" -fx-max-width:500px; -fx-pref-width: 500px;"); alert.show(); }
public void viewOrder() { String currentOrder = ""; int counter = 0; for (Item i : order.getOrder()) { counter++; currentOrder += counter + ". " + i.toString() + "\n"; } Alert alert = new Alert(Alert.AlertType.INFORMATION); alert.setTitle("Current Order"); alert.setHeaderText("Your current order is as follows:"); alert.setContentText(currentOrder); alert.getDialogPane().setStyle(" -fx-max-width:500px; -fx-pref-width: 500px;"); alert.showAndWait(); }
void deletePlaylist() { if (interfaceDisabled) return; Playlist p = getSelectedPlaylist(); if (p == null) return; Alert alert = new Alert(AlertType.CONFIRMATION); ButtonType btYes = new ButtonType(res.getString("yes"), ButtonBar.ButtonData.YES); ButtonType btCancel = new ButtonType(res.getString("cancel"), ButtonBar.ButtonData.CANCEL_CLOSE); alert.getButtonTypes().setAll(btYes, btCancel); alert.setTitle(res.getString("delete_playlist")); alert.setHeaderText(res.getString("delete_playlist")); alert.setContentText(String.format(res.getString("delete_confirm"), p.getTitle())); alert.getDialogPane().getStylesheets().add("/styles/dialogs.css"); ((Stage) alert.getDialogPane().getScene().getWindow()).getIcons().addAll(logoImages); Optional<ButtonType> result = alert.showAndWait(); if (result.get() == btYes) { Cache.deletePlaylist(p); Platform.runLater( () -> { updatePlaylists(); }); } }
private void showMemoryWarning() { Logger.warning("Memory " + (MEMORY_FULL_WARNING_THRESHOLD * 100.0) + "% full."); ThreadHelper.runOnFxThread( () -> { Alert alert = new Alert(AlertType.WARNING); alert.setTitle(FxComponent.DEFAULT_RESOURCES.getString("MemoryWarningPane.title")); alert.setHeaderText(FxComponent.DEFAULT_RESOURCES.getString("MemoryWarningPane.header")); alert.setContentText( FxComponent.DEFAULT_RESOURCES.getString("MemoryWarningPane.message")); alert.show(); Stage stage = (Stage) alert.getDialogPane().getScene().getWindow(); stage.toFront(); stage.setAlwaysOnTop(true); }); }
/* Creates an info alert dialog * @param string message */ public void createAlert(String str) { Alert alert = new Alert(AlertType.INFORMATION); Stage stage = (Stage) alert.getDialogPane().getScene().getWindow(); // Add corner icon stage.getIcons().add(new Image(this.getClass().getResource("/icons/server48.png").toString())); // Add Stage icon alert.setGraphic(new ImageView(this.getClass().getResource("/icons/server256.png").toString())); // alert.initOwner(stage); alert.setTitle("Mars Simulation Project"); alert.setHeaderText("Multiplayer Host"); // if (mainMenu != null) { // alert.initOwner(mainMenu.getStage()); // } alert.setContentText(str); alert.show(); }
@FXML public void onDragDroppedFolder(DragEvent event) { Dragboard dragboard = event.getDragboard(); File folder = dragboard.getFiles().get(0); DestinationFolder dest = new DestinationFolder(folder); if (this.repository.existsSameFolder(dest)) { Alert alert = new Alert(AlertType.ERROR); alert.setTitle("エラー"); alert.setHeaderText("既にフォルダが登録されています。"); alert.getDialogPane().setContentText(dest.getDestPath()); alert.show(); } else { TextInputDialog dialog = new TextInputDialog(); dialog.setTitle("フォルダ追加"); dialog.setContentText("フォルダ名"); dialog.setHeaderText(dest.getDestPath()); dialog.getEditor().setText(dest.getName()); dialog.setOnCloseRequest( e -> { TextInputDialog d = (TextInputDialog) e.getTarget(); String result = d.getResult(); if (result != null) { if (result.isEmpty()) { Alert alert = new Alert(AlertType.ERROR); alert.setTitle("エラー"); alert.setHeaderText("フォルダ名に空は指定できません。"); alert.show(); } else { dest.setName(result); this.repository.registerFolder(dest); this.destinationFolders = repository.findAll(); this.refreshDestFolderListView(); } } }); dialog.show(); } event.setDropCompleted(true); event.consume(); }
@FXML private void deleteButtonClicked(final ActionEvent event) { final Set<File> selectedFiles = getSelectedFiles(); if (selectedFiles.isEmpty()) return; Alert alert = new Alert(AlertType.CONFIRMATION); alert.setTitle("Delete"); alert.setHeaderText("Delete these files?"); final VBox contentContainer = new VBox(); contentContainer.setSpacing(8); final Text contentText = new Text("The following files and folders are about to be deleted (folders recursively!):"); contentText.setWrappingWidth(400); contentContainer.getChildren().add(contentText); final ListView<String> fileListView = new ListView<>(); for (final File file : selectedFiles) fileListView.getItems().add(file.getAbsolutePath()); fileListView.setPrefSize(400, 200); contentContainer.getChildren().add(fileListView); alert.getDialogPane().setContent(contentContainer); if (alert.showAndWait().get() == ButtonType.OK) { final List<File> notDeletedFiles = new ArrayList<>(); for (final File file : selectedFiles) { file.deleteRecursively(); if (file.exists()) notDeletedFiles.add(file); } refresh(); if (!notDeletedFiles.isEmpty()) showErrorDialog( "Deleting failed!", "The selected files (or directories) could be not deleted. They may have been deleted partially, though."); } }
@Override public void start(Stage stage) { try { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } catch (Exception ex) { Alert alert = new Alert(Alert.AlertType.ERROR); alert.setTitle("Lobo Software"); alert.setHeaderText("Se ha presentado un error inesperado"); alert.setContentText("El error técnico se muestra a continuación:"); StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); ex.printStackTrace(pw); String exceptionText = sw.toString(); TextArea textArea = new TextArea(exceptionText); textArea.setEditable(false); textArea.setWrapText(true); textArea.setMaxWidth(Double.MAX_VALUE); textArea.setMaxHeight(Double.MAX_VALUE); GridPane.setVgrow(textArea, Priority.ALWAYS); GridPane.setHgrow(textArea, Priority.ALWAYS); GridPane expContent = new GridPane(); expContent.setMaxWidth(Double.MAX_VALUE); expContent.add(textArea, 0, 1); alert.getDialogPane().setExpandableContent(expContent); alert.showAndWait(); } }
public void finishOrder(ActionEvent actionEvent) { StringBuilder orderString = new StringBuilder(); // create new alert Alert alert = new Alert(Alert.AlertType.INFORMATION, "", ButtonType.OK); // get date Date date = new Date(); DateFormat format1 = new SimpleDateFormat("MM/dd/yy hh:mm:ss a z"); DateFormat format2 = new SimpleDateFormat("yyMMddhhmmss"); orderString.append( String.format( "%s\n\nNumber of line items:%d\n\nItem#/ID/Title/Price/Qty/Disc%%/Subtotal:\n\n%s\n\nOrder Subtotal:$%.2f\n\n" + "Tax Rate:\t6%%\n\nTax Amount:$%.2f\n\nOrder Total:$%.2f\n\nThanks for shopping!", format1.format(date), myOrders.size(), orderArrayToString(), Order.getRunningTotal(), Order.getRunningTotal() * .06, Order.getRunningTotal() + Order.getRunningTotal() * .06)); // print order array // print subtotal // print 6% tax // add tax and generate new total // show alert // call new order alert.setHeaderText("Order Receipt"); alert.setResizable(true); alert.getDialogPane().setPrefWidth(alert.getDialogPane().getWidth() * 2); alert.setContentText(orderString.toString()); alert.show(); // output transactions.txt OpenOption[] options = { StandardOpenOption.CREATE, StandardOpenOption.WRITE, StandardOpenOption.APPEND }; Path file = Paths.get("transaction.txt"); try { BufferedWriter writer = Files.newBufferedWriter(file, Charset.defaultCharset(), options); int i = 0; for (Order order : myOrders) { // String[] strArray = order.toString().split(" "); // System.out.println(strArray[0] + strArray[1]); writer.write( String.format( "%s, %s, %s, %s, %s, %s, %s, %s\n", format2.format(date), order.getOrderedBook().getBookID(), order.getOrderedBook().getBookTitle(), order.getOrderedBook().getPrice(), order.getQuantity(), order.getDiscount(), order.getFinalPrice(), format1.format(date))); } writer.close(); } catch (IOException e) { System.out.println("OOPS"); e.printStackTrace(); } newOrder(new ActionEvent()); }