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ď č. 1Má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.