Хорошо, так что я застрял с этими петлями.У меня есть tabbedPane
, и я добавляю к нему вкладки, используя данные из базы данных, которые я получаю с помощью строки con.getKat()
- (список строк, которые представляют категории).Тогда каждая вкладка должна содержать JTable
с содержимым из моей базы данных со всеми записями, которые содержат категорию (String) из выбранной вкладки.Проблема в том, что каждая вкладка вызывает ChangeListener()
(который я проверяю с помощью System.out.println(kategorija))
, но только последняя вкладка отображает данные (независимо от того, как я добавляю или удаляю вкладки, это всегда последняя вкладка). Здесь может быть что-то глупое, но любая помощьценится.
ArrayList<String> ls = con.getKat();
for(String s : ls){
pane = new JScrollPane();
tabbedPane.addTab(s, null, pane, null);
}
tabbedPane.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
kategorija = tabbedPane.getTitleAt(tabbedPane.getSelectedIndex());
System.out.println(kategorija);
ArrayList<Ceni> artikli = con.getHuroCeni(kategorija);
dtm.setRowCount(0);
for(Ceni c : artikli){
dtm.addRow(new Object[]{c.sifra, c.name, String.valueOf(c.cena1), c.tarifa});
table = new JTable();
table.setFont(new Font("Times New Roman", Font.PLAIN, 16));
table.setBorder(new BevelBorder(BevelBorder.LOWERED, new Color(128, 128, 128), null, null, null));
pane.setViewportView(table);
table.setModel(dtm);
}
}
});