Java 使用列表填充JTable

Java 使用列表填充JTable,java,swing,list,jtable,Java,Swing,List,Jtable,如何使用对象类型列表中的值填充JTable。 我的代码如下所示: String[] columnNames = {"CLASS CODE", "TIME", "DAY", "ROOM", "PROFESSOR"}; List<org.mine.ScheduleAttr> schedule = getStudSched(studNo); DefaultTableModel model = new Defa

如何使用对象类型列表中的值填充JTable。 我的代码如下所示:

String[] columnNames = {"CLASS CODE",
        "TIME",
        "DAY",
        "ROOM",
        "PROFESSOR"};

    List<org.mine.ScheduleAttr> schedule = getStudSched(studNo);
    DefaultTableModel model = new DefaultTableModel();
    table.setModel(model);

    model.setColumnIdentifiers(columnNames);
String[]columnNames={“类代码”,
“时间”,
“一天”,
“房间”,
“教授”};
列表计划=getStudSched(studNo);
DefaultTableModel=新的DefaultTableModel();
表2.setModel(model);
model.setColumnIdentifiers(columnNames);

我已经有了这些列,列表将来自schedule变量?考虑到这些列,我如何将其放入我的表中?

您可以使用类似的内容(只需更改
列和
值即可):

导入java.awt.BorderLayout;
导入java.util.ArrayList;
导入java.util.List;
导入javax.swing.JFrame;
导入javax.swing.JScrollPane;
导入javax.swing.JTable;
导入javax.swing.table.DefaultTableModel;
导入javax.swing.table.TableModel;
公共类TestJFrame扩展了JFrame{
私有静态最终长serialVersionUID=1L;
公共静态void main(字符串[]args){
TestJFrame TestJFrame=新的TestJFrame();
列表列=新的ArrayList();
列表值=新的ArrayList();
列。添加(“第1列”);
列。添加(“col2”);
列。添加(“col3”);
对于(int i=0;i<100;i++){
添加(新字符串[]{“val”+i+“col1”、“val”+i+“col2”、“val”+i+“col3”});
}
TableModel TableModel=新的DefaultTableModel(values.toArray(新对象[][]{}),columns.toArray());
JTable table=新的JTable(tableModel);
setLayout(新的BorderLayout());
添加(新的JScrollPane(表),BorderLayout.CENTER);
add(table.getTableHeader(),BorderLayout.NORTH);
testJFrame.setVisible(true);
testJFrame.setSize(200200);
}
}
columns
不需要看起来像
columns.toArray()
,因为您已经有了一个对象数组,所以只需使用它即可。最后,为了使用列,说明如下所示:
TableModel TableModel=newdefaulttablemodel(values.toArray(newobject[][]{}),columnNames)

看一看。您可以迭代列表并为每一行创建对象数组

for (ScheduleAttr s : schedule) {
  Object[] o = new Object[5];
  o[0] = s.getX();
  o[1] = s.getY();
  o[2] = s.getZ();
  o[3] = s.getA();
  o[4] = s.getB();
  model.addRow(o);
}
试试这个

首先做一个迭代器

Iterator itr = StringList.iterator();



 while(itr.hasNext()) {
                 Object element = itr.next();
                     int y=0;
                     for (y=0; y <=16 ; y++){
                    table_4.setValueAt(element, y, 0);
Iterator itr=StringList.Iterator();
while(itr.hasNext()){
Object元素=itr.next();
int y=0;

对于(y=0;y),不推荐使用链接DefaultTableModel
Iterator itr = StringList.iterator();



 while(itr.hasNext()) {
                 Object element = itr.next();
                     int y=0;
                     for (y=0; y <=16 ; y++){
                    table_4.setValueAt(element, y, 0);