我有JTable
,我只显示水平线来分隔每个表格行。在Windows 8中,线条显示,但在Mac OS X中,它们没有。我在自定义单元格渲染器中为表中的所有单元格使用JLabel
,并为JLabel
添加了遮罩边框以更正Mac OS X的此问题。但是,它没有看起来正确,因为如果你仔细观察下面的截图,你可以看到水平线被打破(即不连续),其中一列结束而另一列开始。 (仔细查看英语和注释列。)
如何为表格中的所有单元格添加边框,使其看起来像下面的Windows 8屏幕截图中的那个?
答案 0 :(得分:2)
Mac OS X上的TableUI
委托将Table.background
和Table.gridColor
设置为Color.white
,使网格实际上不可见。您可以像这样更改网格颜色:
UIManager.put("Table.gridColor", new ColorUIResource(Color.gray));
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
// construct your GUI
}
});