![]() |
DefaultTableCellRenderer ??
Hi!
Wenn ich zur Laufzeit die Hintergrundfarbe einer Zeile in einer JTable ändern möchte, funktioniert dies mit dem Renderer oder muss ich da einen Listener verwenden ? Weil so viel ich mitbekommen habe, funkt der Renderer nur bei isSelected oder hasFocus. Und das hats bei mir ja nicht. Es soll zu einer bestimmten Zeit die Hintergrundefarbe verändert werden. Am besten durch einen Methodenaufruf, oder mal Testhalber durch einen Buttonklick. Bei mir wär das immer nur die 1. Zeile Vielen Dank im voraus Frankster |
<Codesnippet>
. . public boolean isCellEditable(int row, int col){ col_selected = table.getSelectedColumn(); row_selected = table.getSelectedRow(); if (((String)getValueAt(row_selected, 11)).equalsIgnoreCase("Y")) table.setSelectionBackground(Color.red); else table.setSelectionBackground(Color.green); table.revalidate(); if ((col == -1) || (col > getVisibleColumns())) { return false; } else { return true; }} . . hoffe, das hilft dir weiter |
Und wann wird das per Buttonklick aufgerufen ?
Ich verändere ja den Inhalt nicht, sondern nur die Hintergrundfarbe Und wenn ich die Zelle editierbar machen, kann man ja den Inhalt der Zelle auch ändern und dass will ich ja nicht |
dann nimmst halt nur diesen teil:
... table.setSelectionBackground(<DieFarbeDieDuWillst> ); table.revalidate(); ... |
Bitte verzeih mir meine nervenden Fragen ;)
Aber diese JTable macht mich noch wahnsinnig, was ich mit derer schon alles durchgemacht habe ;-) Ich würde ja nur gerne die 1. Reihe rot färben und nicht die komplette JTable. Daher weiss ich nicht ob man da einen CellRender braucht oder nicht. weil wenn ich sage: tabe.setBackground(Color.green); Ist der Hintergrund der kompletten Table grün, und dass will ich nicht |
darum habe ich auch zuerst den codeteil des tablemodels gepostet.
das kannst du an deine bedürfnisse anpassen, z.b. ... if table.getSelectedRow()= <ZuFärbendeZeile> then <farbe1> else <farbe2> ... damit färbst du die <ZuFärbendeZeile> mit <farbe1>, alle anderen mit <farbe2> |
Hi!
Jetzt hab ichs überrissen ;-) Ist eh voll simple gewesen *g* Danke |
renderer
sollte aber noch leichter gehen, du bekommst bei einer funktion eh mit welche row und welche column selektiert worden is...
dann ersparst dir das mit der table, sie mal in da javadoc welche methoden du implementieren musst.... is ned schwer... |
naja, bin auch kein guru ;)
|
Wie kann ich dem Renderer beibringen, dass er auf Rechtsklicks auch reagiert ?
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag