/ / pomocou ikony JLabel + s JTable cellrenderer + zvýraznenie výberu - java, swing, jtable, zvýraznenie

pomocou ikony JLabel + s JTable cellrenderer + zvýraznenie výberu - java, swing, jtable, zvýraznenie

Mám JTable s jedným stĺpcom, ktorý má vlastnú bunkovú vykresľovaciu jednotku, ktorá zobrazuje jednu z niekoľkých ikon.

Funguje to dobre, okrem toho, že zvýraznenie výberu sa automaticky nezobrazuje a neviem, ako aplikovať zvýraznenie v mojom vlastnom renderere buniek.

Nejaké návrhy?

odpovede:

2 pre odpoveď č. 1

Mám JTable s jedným stĺpcom, ktorý má vlastnú bunkovú vykresľovaciu jednotku, ktorá zobrazuje jednu z niekoľkých ikon.

JTable podporuje zobrazenie ikon. Stačí pridať ikonu do modelu a potom prepísať metódu getColumnClass (...) pre návrat ikony a použije sa správna vykresľovačka.


1 pre odpoveď č. 2

V kóde vykresľovača budete musieťexplicitne nastaviť pozadie v prípade výberu. Zvyčajný spôsob, ako to urobiť, je požiadať UIManager, aby vám poskytol farbu pre Table.background a Table.selectionBackground


0 pre odpoveď č. 3

V metóde getTableCellRendererComponent ()je parameter (boolean isSelected), ktorý označuje, kedy je vybratý riadok. Budete to musieť skontrolovať a vyzdvihnúť to v rendererovi.