小编Fre*_*erg的帖子

根据模型值隐藏 JTable 中的单个单元格

我有一个 JTable,显示来自允许整数值 0、1 和 2 的模型的值。这些值显示在 9 x 9 网格中(就像数独游戏板)。

我的问题是:如何从 GUI 中隐藏零值?

也就是说,在模型值为零的表格单元格中,我不希望 GUI 显示任何值。然而,由于正在进行计算,模型必须包含零值。

我尝试使用 DefaultTableCellRenderer 并使用 setVisible(true) 将单元格组件设置为不可见(如本问题所示),但没有得到任何结果。

我已设法使用 DefaultTableCellRenderer 根据模型状态切换任何单元格的背景颜色(如果单元格被视为“负”)。我确实想让背景颜色保持可见

我对java有点陌生,所以也许这只是一个更新问题?

这是我的 DefaultTableCellRenderer:

private static class GameTableRenderer extends DefaultTableCellRenderer
{
    private static final long serialVersionUID = 1L;

    @Override
    public Component getTableCellRendererComponent(
        JTable table, Object value, boolean isSelected,
        boolean hasFocus, int row, int column)
    {
        Component c = super.getTableCellRendererComponent(
            table, value, isSelected, hasFocus, row, column);

        GameModel model = (GameModel) table.getModel();

        if(model.isNegative(row, column)) …
Run Code Online (Sandbox Code Playgroud)

java swing jtable tablecellrenderer abstracttablemodel

1
推荐指数
1
解决办法
2179
查看次数