JTable-Aktualisierung geht nicht

lotharr

Grünschnabel
Hallo,ich möchte nach Bestätigen eines StartButton eine JTable aktualisieren. Die Aktualisierung erfolgt, aber erst nach Abschluß der Schleife wird die Ansicht refreshed.
Gleiches passiert mit einem JProgressBar..Gruß + Danke

import java.awt.*;
.
.
public class Frame1 extends JFrame {
JPanel contentPane;
JButton jButton1 = new JButton();
JTable jTable1;
JProgressBar jProgressBar1 = new JProgressBar();
public Frame1() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
TabellenModell modell = new TabellenModell();
jTable1 = new JTable(modell);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
jButton1.setBounds(new Rectangle(264, 16, 133, 31));
jButton1.setText("Aktualisieren");
jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
contentPane.setLayout(null);
this.setSize(new Dimension(400, 300));
this.setTitle("Frame-Titel");
jTable1.setBounds(new Rectangle(62, 87, 227, 120));
jProgressBar1.setMaximum(10);
jProgressBar1.setBounds(new Rectangle(183, 236, 149, 23));
contentPane.add(jButton1, null);
contentPane.add(jTable1, null);
contentPane.add(jProgressBar1, null);
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void jButton1_actionPerformed(ActionEvent e) {
for (int i=0; i<10;i++){
try {
Thread.sleep(500);
}
catch (Exception e1) {}
jTable1.setValueAt(String.valueOf(i) ,0,0);
jProgressBar1.setValue(i) ;
}
}
}
class TabellenModell extends AbstractTableModel {
Object[][] daten = {
{"Frau","Mustermann", new Integer(24), new Boolean(false)},
{"Herr","Mustermann", new Integer(54), new Boolean(true)}};
String[] spaltenNamen = {"Anrede", "Nachname", "Alter", "Verheiratet"};
public int getRowCount() {
return daten.length;
}
public int getColumnCount() {
return spaltenNamen.length;
}
public String getColumnName(int num) {
return spaltenNamen[num];
}
public void setValueAt(Object obj, int x, int y) {
daten[x][y] = obj;
fireTableDataChanged();
}
public boolean isCellEditable(int x, int y) {
return true;
}
public Object getValueAt(int x, int y) {
return daten[x][y];
}
public Class getColumnClass(int num) {
Object obj = getValueAt(0,num);
return obj.getClass();
}
}
class Frame1_jButton1_actionAdapter implements java.awt.event.ActionListener {
Frame1 adaptee;
Frame1_jButton1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
 
Hy,
bitte die [ code ]-Tags benutzen und den Code auf den relevanten Teil beschränken. Das erhöht den Antwortwillen und die Antwortwahrscheinlichkeit ungemein.
 

Neue Beiträge

Zurück