Hallo,
ich habe eine JTabelle und möchte z.B.: alle 3s die Tabelle löschen und wieder von oben alle Einträge neu auflisten bzw. das, was sich seit dem vorigen 3s geändert hat (die JTable also alle 3s aktualisieren):
Hätte vielleicht jemand einen Tipp, wie ich das einfach lösen kann, momentan werden alle 3s (in diesem Intervall wird fillAlarmTable aufgerufen) die neuen Zeilen an die alten angehängt.
Vielen Dank
ich habe eine JTabelle und möchte z.B.: alle 3s die Tabelle löschen und wieder von oben alle Einträge neu auflisten bzw. das, was sich seit dem vorigen 3s geändert hat (die JTable also alle 3s aktualisieren):
Code:
public void fillAlarmTable(List<DBAlarmeReadBean> alarmeList)
{
for (DBAlarmeReadBean list : alarmeList)
{
setLine(list.getKommen() != null ? list.getKommen().toString() : "", list.getGehen() != null ? list.getGehen().toString() : "", list.getQuit() != null ? list.getQuit().toString() : "", "alarmText", list.getAlarmNr(), "alarmGroupText", x, tableList[x]);
setCursor(tableList[x]);
}
}
private void setLine(String gekommen, String gegangen, String quit, String alarmText, String alarmNr, String alarmGroupText, int xSeite, Table table)
{
table.setValueAt(gekommen, table.getRowCount()-1, 0);
table.setValueAt(gegangen, table.getRowCount()-1, 1);
table.setValueAt(quit, table.getRowCount()-1, 2);
table.setValueAt(alarmText, table.getRowCount()-1, 3);
table.setValueAt(alarmNr, table.getRowCount()-1, 4);
table.setValueAt(alarmGroupText, table.getRowCount()-1, 5);
addQuitButton(table.getRowCount()-1, xSeite);
((DefaultTableModel)table.getModel()).moveRow(table.getRowCount()-1, table.getRowCount()-1, 0);
table.repaint();
((DefaultTableModel)table.getModel()).fireTableDataChanged();
}
private void addQuitButton(int reihe, int xSeite)
{
btn = new JButton(String.valueOf("quittieren"));
btn.addActionListener(this);
btn.setFocusPainted(false);
btn.setOpaque(false);
btn.setName(String.valueOf(xSeite));
btn.setForeground(Color.RED);
btn.setBackground(Color.LIGHT_GRAY);
btn.setBorder(BorderFactory.createBevelBorder(BevelBorder.RAISED));
tableList[xSeite].setValueAt(btn, reihe, 6);
tableList[xSeite].repaint();
}
Hätte vielleicht jemand einen Tipp, wie ich das einfach lösen kann, momentan werden alle 3s (in diesem Intervall wird fillAlarmTable aufgerufen) die neuen Zeilen an die alten angehängt.
Vielen Dank