我想删除JTable中的内部边框。 我研究了这个问题,发现我可以删除所有垂直边框 所以JTable看起来像:
--------------------- +-------+-------+-------+
(0,0) (0,1) (0,2) | (0,0) | (0,1) | (0,2) |
--------------------- +-------+-------+-------+
(1,0) (1,1) (1,2) instead of | (1,0) | (1,1) | (1,2) |
--------------------- +-------+-------+-------+
(2,0) (2,1) (2,2) | (2,0) | (2,1) | (2,2) |
--------------------- +-------+-------+-------+
然而,我想要的是:
+-----------------------+
| (0,0) (0,1) (0,2) |
+-----------------------+
| (1,0) (1,1) (1,2) |
+-----------------------+
| (2,0) (2,1) (2,2) |
+-----------------------+
非常感谢任何帮助!
答案 0 :(得分:0)
一种解决方案是扩展BasicTableUI
并覆盖paintGrid以修改网格的绘制方式。
答案 1 :(得分:0)
我想不出一个简洁的解决方法,不涉及覆盖一些内部paint()
调用,这可能会变得混乱。所以这是一个不太优雅的解决方案:禁用垂直线,然后添加适当颜色的线条边框。
table.setShowVerticalLines(false);
Color lineColor = new Color(122, 138, 153); //(122, 138, 153) is the RGB color of the lines, at least in my computer/OS/L&F...
table.setBorder(BorderFactory.createLineBorder(lineColor));
结果: