Anonymní profil Lukas – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Lukas – Programujte.comAnonymní profil Lukas – Programujte.com

 

Příspěvky odeslané z IP adresy 147.229.207.–

Lukas
Java › jTable pozadi bunky
20. 4. 2011   #141149

To nervak : Zajima me, jak to pracuje. Jestli jsem to pochopil spravne, tak jTable ma defaultni renderer, ale ten neumi jednoduse nastavit pozadi vybrane bunky...teda tak to aspon chapu, protoze jinak nevidim duvod, proc by neexistovala konstrukce typu JTable table.setBackground(int row, int column, Color color).
No a tak si musis vytvorit vlastni, jak uz to tak v Jave byva, tak jen rozsirenim jiz existujici tridy DefaultTableCellRenderer.
Tam si vytvoris metodu public Component getTableCellRendererComponent... a do ni umistis svuj kod, ktery definuje zobrazeni, jako treba

 if(isFocus)

setBackground(Color.green);

No a ja nasel priklad tady http://download.oracle.com/javase/tutorial/uiswing/components/table.html , konkretne nechapu tu cast:


public Component getTableCellRendererComponent(
JTable table, Object color,
boolean isSelected, boolean hasFocus,
int row, int column) {
Color newColor = (Color)color;
if (isSelected) setBackground(Color.BLACK);
if (isBordered) {
if (isSelected) {
if (selectedBorder == null) {
selectedBorder = BorderFactory.createMatteBorder(2,5,2,5,
table.getSelectionBackground());
}
setBorder(selectedBorder);
} else {
if (unselectedBorder == null) {
unselectedBorder = BorderFactory.createMatteBorder(2,5,2,5,
table.getBackground());
}
setBorder(unselectedBorder);
}
}

a pozdeji volani
table.setDefaultRenderer(Color.class, new ColorRenderer(true));
.
Proc se predava jako prvni parametr Color.class ?

Lukas
Java › jTable pozadi bunky
20. 4. 2011   #141146

Ahoj, narazil jsem na problem pri pokusu o prebarveni pozadi bunek u komponenty jTable. Puvodne jsem myslel, ze postaci najit nejakou metodu setBackground, ale to nefunguje. Pak jsem googlil a nasel renderery, jenze se mi nepodarilo pochopit, jak to funguje. Nenasel by se tu nekdo, kdo by mi to obecne objasnil?

Dival jsem se na nejake priklady od oraclu, tam extenduji tridu "DefaultTableCellRenderer". Jenze jsem z toho nepochopil jak to pracuje. Dival jsem se i v knihovne, ale v tech knizkach typu Java bez predchozich znalosti clovek nic nenajde.

Diky za kazdou radu

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý