列を配列にする限り、
String[] titles = {"System Code","Domain Name","Organizational Unit","Organization Name"};
TableColumn[] columns = new TableColumn[titles.length];
for(int i=0; i<titles.length; i++)
{
TableColumn column = new TableColumn(table, SWT.LEFT, i);
column.setText(titles[i]);
column.setWidth(150);
column.setMoveable(true);
column.setResizable(true);
columns[i] = column;
}
2 番目の部分では、その配列をテーブルに取り込もうとしていますか?
javax.swing.table.TableColumn を使用していますか? setText および setMoveable メソッドがないようです。それを使用していて、コードでそれを修正した場合は、次のコードを for ループ (最後) に追加するだけです。
tableInstance.addColumn(column);
または、後で/後で別の反復を実行します。
for( TableColumn column : columns ) {
tableInstance.addColumn(column);
}
JTable クラスのインスタンスの場合は tableInstance
これは、私が見つけたすべての問題を修正した完全なクラスです(フレーム宣言など、すべてを必要とするわけではありませんが、すべてを表示するためだけです):
public class TableTest {
public static void main(String[] args) {
JFrame f = new JFrame();
JTable table = new JTable();
JScrollPane scroll = new JScrollPane(table);
String[] titles = {"System Code","Domain Name","Organizational Unit","Organization Name"};
TableColumn[] columns = new TableColumn[titles.length];
for(int i=0; i<titles.length; i++)
{
TableColumn column = new TableColumn(i);
column.setHeaderValue(titles[i]);
column.setWidth(150);
column.setResizable(true);
columns[i] = column;
table.addColumn(column);//since we add this here, no real point in keeping
//the columns in an array tbh anymore
}
f.add(scroll);
f.setSize(500, 500);
f.setVisible(true);
}
}