JTable aktualizacja danych w komórkach

0

Witam mam malutki problem z aktualizacją zawartości JTable

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTable;

public class tabelka_test extends JApplet {
    public static JFrame okno3 = new JFrame();
    public static Object rows[][];
    public static Object headers[]= { "a","b"};
    public static JTable table;
    public static JButton bbb;

 public void init(){
     okno3.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      okno3.setBounds(10, 10, 770, 500); okno3.setTitle("Client WINDOW ");    okno3.setVisible(true);
      okno3.setLayout(null);
      rows=new Object[4][4];
      rows[0][0]="1";
      rows[1][0]="2";
      rows[2][0]="3";
      rows[3][0]="4";
      table = new JTable(rows,headers);
      bbb = new JButton("przycisk");
      okno3.add(table);   table.setBounds(50, 50, 670, 400);     table.setVisible(true);
      okno3.add(bbb);     bbb.setBounds(10, 10, 100, 20);     bbb.setVisible(true);
    bbb.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
      rows=new Object[4][4];
      rows[0][0]="333333333";
      rows[1][0]="333333333";
      rows[2][0]="333333333";
      rows[3][0]="3333333333";

   //   okno3.remove(table);
   //   table = new JTable(rows,headers);

      okno3.add(table);
      table.setBounds(100, 50, 670, 400);
      bbb.setText("zmienione");
    }});
 }
}

Czy moge prosic o jakas mala porade by w miare latwy sposob to zrobic?

0

znalazlem alternatywna metode by zaladowac pojedyncza komorke

table.setValueAt("hgfhgf", 0, 0);

a by zaladowac caly zbior ktos ma jakis pomysl? czy pozostaje mi zapetlenie setValueAt?

0

Możesz użyć DefaultTableModel, a jeszcze lepiej napisać własny model (http://java.sun.com/docs/books/tutorial/uiswing/components/table.html#data)

rows=new Object[4][4];
rows[0][0]="1";
rows[1][0]="2";
rows[2][0]="3";
rows[3][0]="4";
DefaultTableModel model = new DefaultTableModel(rows, headers);
table = new JTable(model);
rows=new Object[4][4];
rows[0][0]="333333333";
rows[1][0]="333333333";
rows[2][0]="333333333";
rows[3][0]="3333333333";
DefaultTableModel model = (DefaultTableModel) table.getModel();
model.setDataVector(rows, headers);

1 użytkowników online, w tym zalogowanych: 0, gości: 1