就将列制作成数组而言,
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;
}
不过,对于第二部分,您是否正在尝试将该数组放入您的表中?
你在使用 javax.swing.table.TableColumn 吗?因为它似乎没有 setText 和 setMoveable 方法。如果您正在使用它,并在代码中修复了它,只需将以下代码添加到 for 循环中(最后):
tableInstance.addColumn(column);
或者在之后/稍后进行另一次迭代:
for( TableColumn column : columns ) {
tableInstance.addColumn(column);
}
tableInstance 如果您的 JTable 类的实例
这是一个完整的课程,其中包含我发现的所有问题(您不需要所有这些,例如框架声明,只是为了让您看到所有内容):
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);
}
}