0

テーブルを作成しましたが、2 行おきに右揃えにし、1 行おきにデフォルトに揃える必要があります。

行を揃える方法がわかりました。これは私のデフォルトのレンダラーです

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

2 に答える 2

1

表の行のレンダリングを参照してください。

これにより、テーブルが複数のレンダラーを使用している場合でも、カスタム レンダラーを作成しなくても、配置を 1 か所で変更できます。

于 2013-02-27T16:32:39.640 に答える
1

getTableCellRendererComponentレンダラーを少し調整し、そのメソッドをオーバーライドする必要があります。何かのようなもの:

DefaultTableCellRenderer renderer = new DefaultTableCellRenderer() {
    public Component getTableCellRendererComponent(JTable テーブル、オブジェクト値、
            boolean isSelected, boolean hasFocus, int 行, int 列) {
        もし (r % 2 == 0) {
            setHorizo​​ntalAlignment(SwingConstants.LEFT);
        }
        そうしないと {
            setHorizo​​ntalAlignment(SwingConstants.RIGHT);
        }
        super.getTableCellRendererComponent(テーブル、値、isSelected、hasFocus、行、列) を返します。
    }
};

ただし、これを拡張DefaultTableCellRendererして実行する独自の適切なクラスを作成する方が良い方法です。

于 2013-02-27T14:54:38.990 に答える