Example usage for javafx.scene.control Tooltip show

List of usage examples for javafx.scene.control Tooltip show

Introduction

In this page you can find the example usage for javafx.scene.control Tooltip show.

Prototype

public void show(Window owner) 

Source Link

Document

Show the popup.

Usage

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()));
        }
    });
}