JTable中3场的ArrayList [英] JTable 3 fields arrayList
问题描述
我试图添加值的JTable
,该值从ArrayList中取出,
你如何做到这一点。
I am trying to add values to a Jtable
, the values are fetched from arrayList,
How do you do that
我试图使对象[] []数据;
和循环内填充它,但它不工作,你如何解决这个问题。
I tried making Object[][] data;
and the populate it inside a loop, but it does not work, How do you fix this?
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循环中的数据怎么办?
How do you populate "data" inside a while loop?
推荐答案
使用一个DefaultTableModel,并添加使用其addRow数据行(对象[])或addRow(矢量)方法。设置此为您的JTable的模式。 API和JTable的教程可以让你开始。
Use a DefaultTableModel and add rows of data using its addRow(Object[]) or addRow(Vector) method. Set this as your JTable's model. The API and the JTable tutorial can get you started.
有关如,
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);
这说明了一个为
循环做,但,而
循环是相似的。
This demonstrates doing it with a for
loop, but a while
loop would be similar.
这篇关于JTable中3场的ArrayList的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!