1

我有一个JTable,我只显示水平线来分隔每个表格行。在 Windows 8 中,这些行显示,但在 Mac OS X 中,它们没有。我正在JLabel为表格中的所有单元格使用自定义单元格渲染器,并在其中添加了一个哑光边框以JLabel纠正 Mac OS X 的此问题。但是,它看起来不正确,因为如果您仔细查看在下面的屏幕截图中,您可以看到一列结束而另一列开始的水平线断开(即不连续)。(仔细查看“英语”和“注释”列。)

在此处输入图像描述

如何为表格中的所有单元格添加边框,使其看起来像下面的 Windows 8 屏幕截图中的那样?

在此处输入图像描述

4

1 回答 1

4

Mac OS X 上的TableUI委托将Table.background和设置Table.gridColorColor.white,使网格实际上是不可见的。您可以像这样更改网格颜色:

UIManager.put("Table.gridColor", new ColorUIResource(Color.gray));
EventQueue.invokeLater(new Runnable() {

    @Override
    public void run() {
        // construct your GUI
    }
});
于 2012-12-08T17:09:01.660 回答