Sprawa wygląda tak: mam sobie array liste do obiektów w których są dwie wartości nazwa i miasto.
Dane pobieram z array listy i umieszczam w tabelce. Jednak potrafie zrobić tylko w ten sposób ze dane z obiektu trafiają do jednej tylko kolumny. (ądz jak podzile tabelke na 2 to itak jest to 2 x ta sama kolumna). Chciałbym mieć 2 kolumny do których będa wczytane obiekty w koumnie w atrybut nazwa w 2 miasto. Jednak nie moge dać sobie z tym rady Prosze o pomoc
Tu mam kod tabelki:
class ModelTabelki extends AbstractTableModel
{
Object[][] data;
Object[] naglowek;
public ModelTabelki(Object[][] dat, Object[] nag)
{
data = dat;
naglowek = nag;
}
public int getColumnCount()
{
if(naglowek!=null)
return naglowek.length;
return 0;
}
public int getRowCount()
{
if(data!=null)
return data.length;
return 0;
}
public String getColumnName(int col)
{
return naglowek[col].toString();
}
public Object getValueAt(int row, int col) {
return data[row][col];
}
}
A tu tabelki w wczytywania do niej danych:
public class Okno_personel extends JFrame implements ActionListener,WindowListener
{
JFrame frame = new JFrame("Personel");
JPanel panel = new JPanel();
String[] nag={"Imie Nazwisko:"};
JTable table = new JTable();
JScrollPane js = new JScrollPane();
personnel = new ArrayList<Pracownik>(EmployeeListDecorator.readList(fileName));
panel = new JPanel();
String[][] dane=new String[personnel.size()][2]; //<--- wczytywanie danych
for (int i=0;i<personnel.size();i++)
for (int j=0;j<1;j++)
dane[i][j]=personnel.get(i)._imie;
ModelTabelki model = new ModelTabelki( dane, nag );
table = new JTable(model);
js = new JScrollPane( table );
js.setBounds(10, 70, 460, 180); //szerokosc, długość
panel.add(js);
frame.setSize(500,300);
frame.add(panel);
panel.setLayout(null); //Wyłancza automatyczne ustawianei komponentów
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
Będe wdzięczny za każdą wskazowke ;)