我正在尝试将值添加到Jtable
,这些值是从arrayList中获取的,
你是怎么做到的
我尝试制作Object[][] data;
并将其填充到循环内,但它不起作用,您如何解决这个问题?
String[] columns = {"Field String","Field Double"," Field Double"};
Object[][] data;
Iterator<Node> itr = arrayList.iterator();
while (itr.hasNext()) {
Node el = itr.next();
double a = el.getval();
data[i][1] = el.getstring();
data[i][2] = a;
data[i][3] = a*4;
i++;
}
JFrame frame = new JFrame("Title ");
JTable tablE = new JTable(data, columnas);
JPanel panel = new JPanel();
panel.add(table);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
如何在 while 循环内填充“数据”?
最佳答案
使用 DefaultTableModel 并使用其 addRow(Object[]) 或 addRow(Vector) 方法添加数据行。将其设置为 JTable 的模型。 API 和 JTable 教程可以帮助您入门。
例如,
ArrayList arrayList = new ArrayList();
String[] columns = {"Field String","Field Double"," Field Double"};
DefaultTableModel model = new DefaultTableModel(columns, 0);
for (Object item : arrayList) {
Object[] row = new Object[3];
//... fill in row with info from item
model.addRow(row);
}
JTable table = new JTable(model);
这演示了如何使用 for
循环执行此操作,但 while
循环也类似。
关于java - JTable 3 字段数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5453412/