在JTable中设置单元格边框

时间:2012-12-08 08:06:15

标签: java macos swing jtable

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

enter image description here

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

enter image description here

1 个答案:

答案 0 :(得分:2)

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

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

    @Override
    public void run() {
        // construct your GUI
    }
});