List of usage examples for javafx.scene.control Tooltip show
public void show(Window owner)
From source file:com.bekwam.resignator.JarsignerConfigController.java
@FXML public void verifyKeypass() { Preconditions.checkNotNull(pfKeypass.textProperty()); Preconditions.checkNotNull(pfConfKeypass.textProperty()); if (StringUtils.isBlank(pfKeypass.textProperty().getValue())) { if (!pfKeypass.getStyleClass().contains("tf-validation-error")) { pfKeypass.getStyleClass().add("tf-validation-error"); }/* w w w .j a v a 2s. c om*/ Tooltip tt = pfKeypass.getTooltip(); tt.show(pfKeypass.getParent().getScene().getWindow()); return; } if (StringUtils.equals(pfKeypass.textProperty().getValue(), pfConfKeypass.textProperty().getValue())) { lblConfKeypass.setText("Ok"); lblConfKeypass.setTextFill(Color.GREEN); } else { lblConfKeypass.setText("Bad"); lblConfKeypass.setTextFill(Color.RED); } lblConfKeypass.setVisible(true); clearValidationErrors(); }
From source file:com.bekwam.resignator.JarsignerConfigController.java
@FXML public void verifyStorepass() { if (logger.isDebugEnabled()) { logger.debug("[VERIFY SP]"); }// w w w . j av a2 s. com Preconditions.checkNotNull(pfStorepass.textProperty()); Preconditions.checkNotNull(pfConfStorepass.textProperty()); if (StringUtils.isBlank(pfStorepass.textProperty().getValue())) { if (!pfStorepass.getStyleClass().contains("tf-validation-error")) { pfStorepass.getStyleClass().add("tf-validation-error"); } cbAlias.getItems().clear(); cbAlias.setDisable(true); Tooltip tt = pfStorepass.getTooltip(); tt.show(pfStorepass.getParent().getScene().getWindow()); return; } if (StringUtils.equals(pfStorepass.textProperty().getValue(), pfConfStorepass.textProperty().getValue())) { lblConfStorepass.setText("Ok"); lblConfStorepass.setTextFill(Color.GREEN); loadAliases(); } else { lblConfStorepass.setText("Bad"); lblConfStorepass.setTextFill(Color.RED); cbAlias.getItems().clear(); cbAlias.setDisable(true); } lblConfStorepass.setVisible(true); clearValidationErrors(); }
From source file:com.heliosdecompiler.helios.gui.controller.FileTreeController.java
@FXML public void initialize() { this.rootItem = new TreeItem<>(new TreeNode("[root]")); this.root.setRoot(this.rootItem); this.root.setCellFactory(new TreeCellFactory<>(node -> { if (node.getParent() == null) { ContextMenu export = new ContextMenu(); MenuItem exportItem = new MenuItem("Export"); export.setOnAction(e -> { File file = messageHandler.chooseFile().withInitialDirectory(new File(".")) .withTitle(Message.GENERIC_CHOOSE_EXPORT_LOCATION_JAR.format()) .withExtensionFilter(new FileFilter(Message.FILETYPE_JAVA_ARCHIVE.format(), "*.jar"), true)/*from w w w.ja va 2 s .c om*/ .promptSave(); OpenedFile openedFile = (OpenedFile) node.getMetadata().get(OpenedFile.OPENED_FILE); Map<String, byte[]> clone = new HashMap<>(openedFile.getContents()); backgroundTaskHelper.submit( new BackgroundTask(Message.TASK_SAVING_FILE.format(node.getDisplayName()), true, () -> { try { if (!file.exists()) { if (!file.createNewFile()) { throw new IOException("Could not create export file"); } } try (ZipOutputStream zipOutputStream = new ZipOutputStream( new FileOutputStream(file))) { for (Map.Entry<String, byte[]> ent : clone.entrySet()) { ZipEntry zipEntry = new ZipEntry(ent.getKey()); zipOutputStream.putNextEntry(zipEntry); zipOutputStream.write(ent.getValue()); zipOutputStream.closeEntry(); } } messageHandler.handleMessage(Message.GENERIC_EXPORTED.format()); } catch (IOException ex) { messageHandler.handleException(Message.ERROR_IOEXCEPTION_OCCURRED.format(), ex); } })); }); export.getItems().add(exportItem); return export; } return null; })); root.addEventHandler(KeyEvent.KEY_RELEASED, event -> { if (event.getCode() == KeyCode.ENTER) { TreeItem<TreeNode> selected = this.root.getSelectionModel().getSelectedItem(); if (selected != null) { if (selected.getChildren().size() != 0) { selected.setExpanded(!selected.isExpanded()); } else { getParentController().getAllFilesViewerController().handleClick(selected.getValue()); } } } }); Tooltip tooltip = new Tooltip(); StringBuilder search = new StringBuilder(); List<TreeItem<TreeNode>> searchContext = new ArrayList<>(); AtomicInteger searchIndex = new AtomicInteger(); root.focusedProperty().addListener((observable, oldValue, newValue) -> { if (!newValue) { tooltip.hide(); search.setLength(0); } }); root.boundsInLocalProperty().addListener((observable, oldValue, newValue) -> { Bounds bounds = root.localToScreen(newValue); tooltip.setAnchorX(bounds.getMinX()); tooltip.setAnchorY(bounds.getMinY()); }); root.addEventHandler(KeyEvent.KEY_PRESSED, event -> { if (tooltip.isShowing() && event.getCode() == KeyCode.UP) { if (searchIndex.decrementAndGet() < 0) { searchIndex.set(searchContext.size() - 1); } } else if (tooltip.isShowing() && event.getCode() == KeyCode.DOWN) { if (searchIndex.incrementAndGet() >= searchContext.size()) { searchIndex.set(0); } } else { return; } event.consume(); root.scrollTo(root.getRow(searchContext.get(searchIndex.get()))); root.getSelectionModel().select(searchContext.get(searchIndex.get())); }); root.addEventHandler(KeyEvent.KEY_TYPED, event -> { if (event.getCharacter().charAt(0) == '\b') { if (search.length() > 0) { search.setLength(search.length() - 1); } } else if (event.getCharacter().charAt(0) == '\u001B') { //esc tooltip.hide(); search.setLength(0); return; } else if (search.length() > 0 || (search.length() == 0 && StringUtils.isAlphanumeric(event.getCharacter()))) { search.append(event.getCharacter()); if (!tooltip.isShowing()) { tooltip.show(root.getScene().getWindow()); } } if (!tooltip.isShowing()) return; String str = search.toString(); tooltip.setText("Search for: " + str); searchContext.clear(); ArrayDeque<TreeItem<TreeNode>> deque = new ArrayDeque<>(); deque.addAll(rootItem.getChildren()); while (!deque.isEmpty()) { TreeItem<TreeNode> item = deque.poll(); if (item.getValue().getDisplayName().contains(str)) { searchContext.add(item); } if (item.isExpanded() && item.getChildren().size() > 0) deque.addAll(item.getChildren()); } searchIndex.set(0); if (searchContext.size() > 0) { root.scrollTo(root.getRow(searchContext.get(0))); root.getSelectionModel().select(searchContext.get(0)); } }); openedFileController.loadedFiles().addListener((MapChangeListener<String, OpenedFile>) change -> { if (change.getValueAdded() != null) { updateTree(change.getValueAdded()); } if (change.getValueRemoved() != null) { this.rootItem.getChildren() .removeIf(ti -> ti.getValue().equals(change.getValueRemoved().getRoot())); } }); }