【问题标题】:Jtable, use different alignment for each ROWJtable,对每一行使用不同的对齐方式
【发布时间】:2013-02-13 09:44:24
【问题描述】:

我创建了一个表格,需要每隔一行向右对齐,每隔一行默认对齐。

我了解如何对齐行。这是我的默认渲染器

final DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment(DefaultTableCellRenderer.CENTER); 
final DefaultTableCellRenderer rightRenderer = new DefaultTableCellRenderer();
rightRenderer.setHorizontalAlignment(DefaultTableCellRenderer.RIGHT); 

【问题讨论】:

  • 为了更好的帮助,请尽快发布SSCCE,简短,可运行,可编译

标签: java swing jtable alignment tablecellrenderer


【解决方案1】:

您必须稍微调整渲染器并覆盖其getTableCellRendererComponent 方法。比如:

DefaultTableCellRenderer 渲染器 = 新 DefaultTableCellRenderer() { public Component getTableCellRendererComponent(JTable 表,对象值, boolean isSelected, boolean hasFocus, int row, int column) { 如果 (r % 2 == 0) { setHorizo​​ntalAlignment(SwingConstants.LEFT); } 别的 { setHorizo​​ntalAlignment(SwingConstants.RIGHT); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } };

尽管创建您自己的扩展 DefaultTableCellRenderer 的适当类并且这样做会是更好的方法。

【讨论】:

    【解决方案2】:

    Table Row Rendering

    这将允许您在一处更改对齐方式,即使您的表格使用多个渲染器并且无需创建自定义渲染器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 2013-10-03
      • 2023-02-22
      • 2012-10-14
      • 2012-05-02
      • 2010-12-22
      • 2021-06-12
      相关资源
      最近更新 更多