[Java lista] gui

Zsombor gzsombor at gmail.com
2007. Jan. 19., P, 12:50:40 CET


On 1/19/07, MaglĂłdszki Viktor <bocios at citromail.hu> wrote:
>
> a neten találtam 1 ilyen renderer-t:
>
> private String color;
> private int rowToColor = -1;
>
> public void setUp(String color,int row) {
> this.color = color;
> this.rowToColor = row;
> }
>
> public Component getTableCellRendererComponent(JTable table, Object value,
> boolean isSelected, boolean hasFocus, int row, int column) {
> Component c = super.getTableCellRendererComponent
> (table,value,isSelected,hasFocus,row,column);
> if (row == rowToColor)
> c.setBackground(Color.decode(color));
> return c;
> }
>
>
> ciklusban mindig setUp-ot hivok atadva a szint es a sorszamot
> szinez is tehat elvileg mukodik nem ?
> csak ha rateszek 1 ablakot / barmit akkor az utolso sor szinevel atszinezi
> az egesz tablat
>


Továbbra sem lehet érteni, hogy milyen ciklusban módosítgatod a dolgaidat. A
swing-et úgy érdemes használni, hogy egyszer felépíted az objektumaidat,
aztán átadod a táblának, és békén hagyod őket. Ezenkivül azt érdemes
megérteni, hogy egy táblázatnak egy renderer-je van, és nem minden
cellához/sorhoz tartozik külön. Ezenkivül a legtöbb renderer takarékossági
okokból minimális számu tableCellRendererComponent-el dolgozik,
értsd,többnyire 1-el. S ha annak az egynek módosítod a hátterét, akkor az
úgy is marad. Amugy az itt mellékelt kód rossz, mert feltehetőleg a szerző
olyan renderert akart irni, amelyik egy adott sor hátterét módosítja,
viszont mivel nincs background beállitva, amikor row!=rowToColor ezért a
többi sor szine elég összevissza lesz, attól függően, hogy a renderelést
éppen hogyan végezte a swing. Pl a rowToColor utáni sorok is megadott
szinüek lesznek, ha a rowToColor sor látszik éppen a táblázatban. Stb.

ĂĽdv
 Zs
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20070119/eb09854b/attachment.html 


További információk a(z) Javalist levelezőlistáról