JTable 3 поля arrayList - PullRequest
       16

JTable 3 поля arrayList

0 голосов
/ 28 марта 2011

Я пытаюсь добавить значения в 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?

1 Ответ

2 голосов
/ 28 марта 2011

Используйте 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 будет аналогичным.

...