Sana JTable(Object[][], Object[])
yapıcı kullanıyorsunuz sanırım.
Bir ArrayList<Contact>
dosyasını Object[][]
dönüştürmek yerine, JTable(TableModel)
yapıcısını kullanmayı deneyin. TableModel
arabirimini uygulayan özel bir sınıf yazabilirsiniz. Sun, hayatınızı biraz daha kolaylaştıracak şekilde genişletmek için zaten AbstractTableModel
sınıfını sağlamıştır.
public class ContactTableModel extends AbstractTableModel {
private List<Contact> contacts;
public ContactTableModel(List<Contact> contacts) {
this.contacts = contacts;
}
public int getColumnCount() {
// return however many columns you want
}
public int getRowCount() {
return contacts.size();
}
public String getColumnName(int columnIndex) {
switch (columnIndex) {
case 0: return "Name";
case 1: return "Age";
case 2: return "Telephone";
// ...
}
}
public Object getValueAt(int rowIndex, int columnIndex) {
Contact contact = contacts.get(rowIndex);
switch (columnIndex) {
case 0: return contact.getName();
case 1: return contact.getAge();
case 2: return contact.getTelephone();
// ...
}
}
}
Daha sonra
...
List<Contact> contacts = ...;
TableModel tableModel = new ContactTableModel(contacts);
JTable table = new JTable(tableModel);
listenizde ne var? – pstanton
bir dizi listesi 1D, senin sorunun ne anlama geldiğini anlamıyorum –
belki ArrayList bir Nesne dizileri listesi içerir ... – ninesided