我有一个 JTable,由于以下代码,它可以进行漂亮的颜色变化:
table.setDefaultRenderer(Object.class, new BorderRenderer(new ColorRenderer(table
.getDefaultRenderer(Object.class), colorProvider)));
(这里的“colorProvider”包含将每隔一行变成浅灰色的代码。)我有一列我想将文本居中对齐。如果我只是在该列上设置一个具有中心水平对齐的 DefaultCellRenderer,它会覆盖表格的默认渲染器,并且我会失去可爱的条纹。
我可以保留条纹并仍然更改列的对齐方式吗?
为了使事情变得更加复杂,我将上述代码放在一个超类中。我的子类知道他们想要更改哪些列的对齐方式。
我可以保留条纹并仍然更改列的对齐方式吗?
更简单的方法是使用表行渲染 http://tips4java.wordpress.com/2010/01/24/table-row-rendering/。然后,您可以自定义各个渲染器的对齐方式,而不会影响行颜色。
DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
table.getColumnModel().getColumn(???).setCellRenderer( centerRenderer );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)