我创建了一个表,需要将每个第二行对齐,并将每隔一行对齐为默认值。
我理解如何对齐行。这是我的默认渲染器
final DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER);
final DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT);
答案 0 :(得分:1)
您必须稍微调整渲染器并覆盖其getTableCellRendererComponent
方法。类似的东西:
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() { public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if (r % 2 == 0) { setHorizontalAlignment(SwingConstants.LEFT); } else { setHorizontalAlignment(SwingConstants.RIGHT); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } };
虽然创建一个扩展DefaultTableCellRenderer
的适当类,但这样做会更好。
答案 1 :(得分:1)
即使您的表使用多个渲染器而不创建自定义渲染器,也可以在一个位置更改对齐。