Чтобы добавить содержимое для отображения на JTable
, для добавления элементов для отображения используются TableModel
.
Одним из способов добавить строку данных в DefaultTableModel
является использование метода addRow
, который будет принимать массив Object
s, представляющий объекты в строке. Поскольку нет методов для непосредственного добавления содержимого из ArrayList
, можно создать массив Object
s, обратившись к содержимому ArrayList
.
В следующем примере используется класс KeyValuePair
, который является держателем данных (аналогично вашему классу Track
), который будет использоваться для заполнения DefaultTableModel
для отображения таблицы в виде JTable
:
class KeyValuePair
{
public String key;
public String value;
public KeyValuePair(String k, String v)
{
key = k;
value = v;
}
}
// ArrayList containing the data to display in the table.
ArrayList<KeyValuePair> list = new ArrayList<KeyValuePair>();
list.add(new KeyValuePair("Foo1", "Bar1"));
list.add(new KeyValuePair("Foo2", "Bar2"));
list.add(new KeyValuePair("Foo3", "Bar3"));
// Instantiate JTable and DefaultTableModel, and set it as the
// TableModel for the JTable.
JTable table = new JTable();
DefaultTableModel model = new DefaultTableModel();
table.setModel(model);
model.setColumnIdentifiers(new String[] {"Key", "Value"});
// Populate the JTable (TableModel) with data from ArrayList
for (KeyValuePair p : list)
{
model.addRow(new String[] {p.key, p.value});
}