【问题标题】:Set Tooltip for column header of treetableview in Javafx在Javafx中为treetableview的列标题设置工具提示
【发布时间】:2015-05-06 21:12:32
【问题描述】:

我有动态 TreeTable。如何为列标题设置工具提示,显示标题文本。下面的代码显示了特定单元格的工具提示,但我不知道在哪里设置标题文本。

    for (Entry<String, String> ent : dc.getSortedAssignedOrg().entrySet()) {

        TreeTableColumn<String, ArrayList<String>> col = new TreeTableColumn<>(
                ent.getValue());
col.setCellFactory(new Callback<TreeTableColumn<String, ArrayList<String>>, TreeTableCell<String, ArrayList<String>>>() {
            @Override
            public TreeTableCell<String, ArrayList<String>> call(
                    TreeTableColumn<String, ArrayList<String>> param) {
                return new TreeTableCell<String, ArrayList<String>>() {
                    public void updateItem(ArrayList<String> item,
                            boolean empty) {
                        super.updateItem(item, empty);


                        if (item == null || empty) {
                            setStyle("");
                            setText("");
                        } else if (item.contains("Green")) {
                            float weightInt = Float.parseFloat(item.get(0));
                            float res = weightInt * 1;
                            String resString = Float.toString(res);
                            this.setStyle("-fx-background-color:green");
                            setTooltip(new Tooltip(item.get(2)));
                            setText(resString);
                        } else if (item.contains("yellow")) {
                            this.setStyle("-fx-background-color:yellow");
                            setTooltip(new Tooltip(item.get(2)));
                            setText("0");
                        } else if (item.contains("white")) {
                            setText("DD");
                        }
                    }
                };
            };

        });

        treeTableView.getColumns().add(col);

}

【问题讨论】:

    标签: javafx tooltip columnheader


    【解决方案1】:

    不要为列设置文本,而是创建一个Label 并将其设置为列的图形。然后在标签上设置工具提示。

    即而不是

        TreeTableColumn<String, ArrayList<String>> col = new TreeTableColumn<>(
                ent.getValue());
    

        TreeTableColumn<String, ArrayList<String>> col = new TreeTableColumn<>();
        Label label = new Label(ent.getValue());
        col.setGraphic(label);
        label.setTooltip(new Tooltip("Tooltip text goes here"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2017-01-29
      • 2020-06-29
      • 2018-05-30
      • 1970-01-01
      • 2018-03-06
      • 1970-01-01
      相关资源
      最近更新 更多