java - TableCell 超链接在 TableView 上未正确对齐 - JavaFX

标签 java javafx

我遇到了第一个 HyperlinkTableCell 顶部对齐的问题。
我几乎尝试了所有方法,但无法使其工作。

IMAGE

colData.setCellFactory(e -> {
        return new TableCell<TabelaShitjet, Hyperlink>(){
            @Override
            protected void updateItem(Hyperlink item, boolean empty) {
                super.updateItem(item, empty);
                if (!empty){
                    item.setOnAction(e -> {
                        TeDhenatBlerjes(Integer.parseInt(getTableView().getColumns().get(0).getCellData(getTableRow().getIndex())+""), item.getText());
                    });
                    setGraphic(item);
                }
            }
        };
    });

构造函数

public class TabelaShitjet {
    private Hyperlink data;

    public TabelaShitjet(String data){
        this.data = new Hyperlink(data);
    }

    public Hyperlink getData() {
        return data;
    }

    public void setData(Hyperlink data) {
        this.data = data;
    }
}

最佳答案

我不知道为什么会发生这种情况,但如果在单元格变空时通过将其设置为 null 来删除图形,问题似乎就得到了解决。

当在调用 updateItem 时添加项目时,单元格无论如何都会变空,您应该撤消对单元格所做的任何修改,否则空单元格可能会显示为非空单元格:

@Override
protected void updateItem(Hyperlink item, boolean empty) {
    super.updateItem(item, empty);
    if (!empty){
        item.setOnAction(e -> {
            TeDhenatBlerjes(Integer.parseInt(getTableView().getColumns().get(0).getCellData(getTableRow().getIndex())+""), item.getText());
        });
    }

    // set graphic every time i.e. set it to null for empty cells
    setGraphic(item);
}
<小时/>

一般来说,updateItem方法应该像这样实现:

@Override
protected void updateItem(ItemType item, boolean empty) {
    super.updateItem(item, empty);
    if (empty) {
        // undo any updates that could have been made
        // to make the cell look different from the empty cell
    } else {
        // update cell to display item
    }
}

关于java - TableCell 超链接在 TableView 上未正确对齐 - JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787182/

相关文章:

java - 如何提高我的 A* 路径查找器的性能?

java - 如何使用maven项目在JavaFX中生成可执行jar

java - 将字符串转换为准备好的语句的整数

java - Jquery到Java方法调用问题

java - 设计 hibernate 实体的解决方案

java - 注释错误: You are not allowed to update the certifier log while creating a new user

java - 在 application.conf 中包含的 conf 文件中使用 Play Server 的 ID

java - 尝试填充 fragment 中的列表时出现 NullPointerException

JavaFx 2.0 : Controlling the Z-Order of Stage elements

java - javafx 转换的当前圆位置