jTable repaint(); co robie zle?

Odpowiedz Nowy wątek
2011-07-05 02:05
0

Witam mam problem z repaintowaniem jTable (wyl i wl jFrame to troche nieladnie)
mianowicie nie moge
wywolac repaintowania pewnie z powodu nieustawienia modelu
(podobna operacja z jList udana)
Dam tylko wycinki z projektu bo za duzy balagan by byl.

Pierwotny model w Klasa


    GlowneOkno insta;
Vector<Vector <String>> kolumny = new Vector<Vector<String>>();
private Vector<String> nazwykklie = new Vector<String>();

public DefaultTableModel wezkiertab(){
        return kiertab;
    }
kiertab = new DefaultTableModel(kolumny, getNazwykklie());
        insta.kiertab = kiertab;

Przekierowanie modelu do klasy okno

 Klasa kie = new Klasa();
                DefaultTableModel mode = new DefaultTableModel();
                mode = kie.wezkiertab();
                insta.KliTable.setModel(mode);
                insta.KliTable.repaint(); 

insta.KliTable.setModel(mode);- Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Przekierowanie.actionPerformed

Klasa z Glowne okno


    public JTable KliTable;  
        public static DefaultTableModel kiertab;//<- to chyba tutaj nie ma znaczenia
        KliTable = new JTable();
                                jScrollPane1.setViewportView(KliTable);
                                GroupLayout ZawTableLayout = new GroupLayout((JComponent)KliTable);
                                KliTable.setLayout(ZawTableLayout);
                                KliTable.setModel(kiertab);

Jesli pobiera model ze statica (kiertab) to jest ok ale przy wywolaniu akcji nie mozna ustawic modelu
Prosze o odpowiedzii i z gory dziekuje

Pozostało 580 znaków

2011-07-05 08:22
bo
0

1.

insta.KliTable.setModel(mode);

Wg fragmentów kodu, które zamieściłeś insta jest null.

  1. Jak zmienisz dane (model), to wywołaj
    model.fireTableDataChanged();

    (repaint() jest zapewne niepotrzebne).

Pozostało 580 znaków

2011-07-05 16:42
0

tak insta jest null bo to nieaktywne okno (dla okna GlowneOkno taka sytuacja powoduje oczekiwany skutek)
Wiec pytanie brzmi - jak odwolac sie do nieaktywnego okna.

Pozostało 580 znaków

2011-07-05 18:59
bo
0

Co u Ciebie znaczy termin nieaktywne okno?

Pozostało 580 znaków

2011-07-06 19:36
0

Eh no tak mało precyzyjny jestem ostatnio.
Otóż Klasa(tutaj klasa = jFrame) z jTable wywołuje inna która w tym wypadku dodaje rekordy.
Wiec są wtedy 2 okna jTable oraz Dodawanie na którym pracujemy
Po dodaniu rekordu chciałbym żeby jTable automatycznie się zaktualizował.
Na tą chwilę wywołuję to w listenerze Okna z jTable po kliknięciu przycisku "Odśwież" ale jest to mało praktyczne.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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