Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

JTable resize kolona

[es] :: Java :: JTable resize kolona

[ Pregleda: 1590 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

iradulovic81

Član broj: 172959
Poruke: 3
*.dynamic.sbb.co.yu.



Profil

icon JTable resize kolona14.02.2008. u 11:00 - pre 197 meseci
Zdravo,

zanima me da li je moguce da se prilikom resize-ovanja kolone tabele ne vrsi stalno repaint-ovanje celija, vec da se to odlozi za kraj resize-a tj. kad se pusti mis, nesto kao sto je slucaj sa kontrolom JSplitPane i propertiem setContinuousLayout(boolean). U pitanju je jre1.5.0.7.

Hvala.

p.s. pronasao sam sledece:

void javax.swing.table.JTableHeader.setUpdateTableInRealTime(boolean flag)
Obsolete as of Java 2 platform v1.3. Real time repaints, in response to column dragging or resizing, are now unconditional.

ali izgleda da ovo vise ne funkcionise.
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: JTable resize kolona14.02.2008. u 12:51 - pre 197 meseci
odgovor je u tom delu koji si citirao: ne može se sprečiti.
 
Odgovor na temu

iradulovic81

Član broj: 172959
Poruke: 3
*.dynamic.sbb.co.yu.



Profil

icon Re: JTable resize kolona15.02.2008. u 09:51 - pre 197 meseci
Za one koje ova tema zanima evo resenja:

Code:

JTableHeader header = new JTableHeader() {
 
    private static final long serialVersionUID = 1L;
 
    public void setResizingColumn(TableColumn aColumn)
    {
        super.setResizingColumn(aColumn);
        if (getResizingColumn() == null) {
            refreshHeavyRenderer();
            getTable().repaint();
        }
        else {
            TableColumnModel cmodel = this.getColumnModel();
            for (int i = 0; i < cmodel.getColumnCount(); i++) {
                cmodel.getColumn(i).setCellRenderer(
                    new DefaultTableCellRenderer());
            }
        }
    }
};


Poenta je override-ovanje table header-a i detektovanje da li je u toku resize kolone. Ako je resize u toku setuje se default-ni cell renderer koji ne opterecuje gui preterano prilikom repaint-a. Kada se resize zavrsi vraca se zahtevan renderer i radi se repaint.
 
Odgovor na temu

[es] :: Java :: JTable resize kolona

[ Pregleda: 1590 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.