-
TableColumnModelオブジェクトを取得します。これは、JTableの列モデルを管理するオブジェクトです。通常、JTableのgetColumnModel()メソッドを使用して取得できます。
-
右揃えを設定したい列のインデックスを特定します。通常、getColumn()メソッドを使用して列のインデックスを取得できます。
-
TableColumnオブジェクトを取得します。これは、指定した列のプロパティを管理するオブジェクトです。通常、TableColumnModelのgetColumn()メソッドを使用して取得できます。
-
DefaultTableCellRendererクラスのオブジェクトを作成します。これは、セルの描画をカスタマイズするためのクラスです。
-
DefaultTableCellRendererオブジェクトのsetHorizontalAlignment()メソッドを使用して、右揃えを設定します。引数としてSwingConstantsクラスのRIGHTフィールドを指定します。
-
TableColumnオブジェクトのsetCellRenderer()メソッドを使用して、作成したDefaultTableCellRendererオブジェクトをセルのレンダラーとして設定します。
以下に、上記の手順を反映したコード例を示します。
import javax.swing.*;
import javax.swing.table.*;
public class RightAlignExample {
public static void main(String[] args) {
JFrame frame = new JFrame("JTable Right Align Column");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// サンプルのデータ
Object[][] data = {
{"John", "Doe", 30},
{"Jane", "Smith", 25},
{"Bob", "Johnson", 35}
};
// サンプルの列名
String[] columnNames = {"First Name", "Last Name", "Age"};
// テーブルモデルの作成
DefaultTableModel model = new DefaultTableModel(data, columnNames);
// JTableの作成
JTable table = new JTable(model);
// 列モデルの取得
TableColumnModel columnModel = table.getColumnModel();
// 右揃えを設定したい列のインデックス
int columnIndex = 2; // 例としてAge列を指定
// TableColumnオブジェクトの取得
TableColumn column = columnModel.getColumn(columnIndex);
// セルのレンダラーを作成して右揃えを設定
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setHorizontalAlignment(SwingConstants.RIGHT);
column.setCellRenderer(renderer);
// JTableをフレームに追加
frame.add(new JScrollPane(table));
// フレームのサイズ調整と表示
frame.pack();
frame.setVisible(true);
}
}
この例では、JTableの"Age"列が右揃えで表示されます。必要に応じて、columnIndexの値を変更して他の列にも同様の設定を適用できます。
なお、このコード例はSwingを使用したデスクトップアプリケーションの例です。