JTable Zellen Farbe

Terry123

Mitglied
Hallo,
hab ein kleines Problem.

Ich möchte in meinem JTable innerhalb der ersten Spalte die Hintergrundfarbe einiger Zellen ändern können. Ich sollte also die Zellen einzeln einfärben können.

Was für einen Cellrenderer muss ich der Spalte zuweisen?
Und mit welchem Befehl kann ich die Hintergrundfarbe ändern?

Es müsste doch sowas geben wie zelle.setBackground(Color.BLUE); ?

Ich weiss leider nicht wie ich eine Zelle ansteuern kann.

Danke euch schonmal im Voraus.

Grüßle,
Terry
 

Terry123

Mitglied
Danke! Ich hab jetzt die Klasse ColorTableCellRenderer eingefügt und hab den Rendnerer der ersten Spalte hinzugefügt. Aber wie steuer ich jetzt die einzelnen Zellen an, die ich einfärben möchte? ??? :L
 
Zuletzt bearbeitet:
S

SlaterB

Gast
hast du alles in 5 Min. durchgearbeitet?
auch das weiter unten mit
beni-albums-jtable-picture61-table-09.png

?

grundsätzlich gilt: der Renderer wird mit x,y und aktuellen Zellenwert aufgerufen,
davon abhängig kannst du individuell pro Zelle die Gestaltung festlegen,

notfalls noch irgendwo anders getColorForCell(x,y) nachfragen,
auch wieder im Model der Tabelle, falls das dort bei den Daten dabeisteht
 

Terry123

Mitglied
Genau den Befehl mit "x,y" find ich nicht ;(

Kann ich wenn ich der Spalte den Renderer zugewiesen hab nicht einfach per Befehl die Farbe einer Zelle ändern?
 
Zuletzt bearbeitet:
S

SlaterB

Gast
es gibt keinen derartigen Befehl,

nochmal: was ist ein Renderer?
jemand der sich darum kümmert wenn gezeichnet werden soll,
zu diesem Zeitpunkt kommt der Renderer dran,
du hast in dieser Methode alle Zeit der Welt herauszufinden, welche Zelle aktuell dran ist und dann entsprechend Befehle auszuführen,

das ist ein bisschen anderes Modell als man es größtenteils kennt, durchaus,
deshalb auch mal nicht nach 5 Min. die nächste Antwort posten, sondern 30 Min. bis 3 Stunden viele Beispeile anschauen, ausprobieren, was passiert wenn du mit if (col == 1) { } irgendwas änderst usw.,

auch nicht nur den Code kopieren sondern den Text dazu lesen..,
nach TableCellRenderer kann man auch im Internet suchen
 

Terry123

Mitglied
Ok, danke, aber trotzdem die Frage:
Wie kann ich beispielsweise auf einem Button, die Zellenfarbe dann ändern?
Dazu brauch ich doch irgend einen Befehl.

Mir fehlt einfach der richtige Ansatz.

Über einen kleinen Denkanstoss würd ich mich freuen.
Wenn du weisst wies geht, und es leicht zu erklären wäre, muss ich ja jetzt nicht 3 Stunden recherchieren. Dazu ist das Forum ja unter anderem da :)

Nochmals danke.
 
S

SlaterB

Gast
> Wie kann ich beispielsweise auf einem Button, die Zellenfarbe dann ändern?

wie meinst du das denn, auf einen Buttonklick hin die Farbe einer bestimmten Zelle ändern?
jeder beliebige denkbare Weg kommt in Frage, am direktesten hast du irgendwo eine Variable
[c]private boolean zelleXYSollBlauSein = false;[/c]
welche auf true gesetzt wird und der Renderer berücksichtig das bei der fraglichen Zelle,

nach Änderung im ActionListener des Buttons muss dann evtl. noch ein Neuzeichnen der Tabelle ausgelöst werden,
eine Frage für sich,

je nach Arbeitseinsatz kann man das ganze weitaus größer und komplexer bauen, aktuelle Selektionen oder Texteingaben berücksichtigen zur Info, welche Zelle gemeint ist,
ein ganzes Model mit Farb-Speicherung für alle Zellen vorhalten usw.,
man muss es nur bauen, ein Lego-Stein nach dem anderen, schwer ist nichts
 

Terry123

Mitglied
Ums mal genauer zu erklären:

Ich hab ein Array in dem die Nummern der Zellen stehen, die ich einfärben möchte.
Wenn ich jetzt auf einen Button klicke will ich an den Positionen des Arrays die Zellenfarbe ändern.

Mir leuchtet grade nicht ganz ein, wie ich dann über den Renderer die Farbe ändern kann :-(
 
S

SlaterB

Gast
der Button ändert das Array,

der Renderer kommt dran, weiß welche Zelle zu malen ist, schaut ins Array, setzt die richtige Farbe und macht weiter

nicht zu verstehen?
 

Terry123

Mitglied
Ich versuchs mir grade n bisschen vorzustellen.

Also ich mach mir beispielsweise eine if-Abfrage in den Renderer, in dem steht, wenn irgendwas true ist, dann färbe Zelle xy ein.
Ich könnte also ein Array mit Booleans anlegen, wo jeder Eintrag für die jeweilige Zelle in der Spalte 1 steht. Und wenn ich das Boolean in array auf true setze, dann würde der Renderer automatisch anfangen die If-Abfrage zu bearbeiten?

Falls ich richtig liege:
Wie heisst dann im Renderer die Anweisung fürs Einfärben der Zelle?
 
S

SlaterB

Gast
> Wie heisst dann im Renderer die Anweisung fürs Einfärben der Zelle?
wenn du wirklich glaubst dass dir hier im Forum alles erzählt wird, dann wird wohl wer anders kommen und es sagen,

für mich bedeutet das, dass du
- weder die Beispiele im Link alle angeschaut, ausprobiert, modifiziert hast
- noch je in irgendeiner einzelnen Swing-Komponente ausführlich den Farb-Einsatz ausprobiert hast
- noch das ganze jetzt vorher intensiv im Internet suchst,

das ist für mich keine Arbeitsgrundlage
 

Terry123

Mitglied
Unterstell mir bitte nichts. Wenn man in nem JAVA Forum sich für Fragen entschuldigen muss (auch wenn es Grundlagen sind), dann ist was falsch gelaufen. Es gibt Leute die selbst mit Beispielen und Internetrecherche noch immer Schwierigkeiten haben, und sich freuen wenn jemand da ist der sie etwas unterstützt. Jeder hat mal klein angefangen. Was ich nicht verstehen kann ist, wenn Leute vom Fach immer um den heissen Brei reden und sich jede Information aus der Nase ziehen lassen, auch wenns nur ne Kleinigkeit wäre zu helfen. Damits der andere ja nicht zu einfach hat.

Vielleicht liege ich falsch und meine Frage, wie man die Zelle dann innerhalb der if-Abfrage einfärbt ist zuviel verlangt. Ich weiss es nicht. Wenn es allerdings nur eine Zeile Code ist, die du mir vorenthalten willst, dann kann ich nur mit dem Kopf schütteln...

Trotzdem Danke für die bisherige Hilfe.
 
S

SlaterB

Gast
die einzige Folge von Vorsagen ist, dass dann noch mehr Fragen kommen,
dieses Konzept funktioniert nicht

Hilfe lohnt sich genau da, wo jemand einen Fehler nicht findet oder die Stichwörter für ein Konzept fehlen
und man sich jeweils 3 Stunden im Kreis drehen könnte ohne einen Schritt weiterzukommen,

wann immer gut dokumentiere Standardthemen rein mit Fleiß zu lernen sind, dann sind diese zu bevorzugen,
da werden nebenbei noch gleich 100 weitere Dinge geklärt die sonst auch alle zu erfragen wären (was deine vorherigen Postings gut zeigen),
irgendwann ist halt ein Punkt erreicht

um 17:07 habe ich ein Bild aus dem Tutorial gepostet, da sieht man verschiedene Hintergrund- und Schriftfarben,
alles im Tutorial nachzulesen, entweder nur genau das zugehörige Beispiel oder besser von Anfang an
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing JTable, Zellen-Farbe über Koordinaten ändern AWT, Swing, JavaFX & SWT 9
D Im JTable bei einzelnen Zellen die Farbe ändern AWT, Swing, JavaFX & SWT 3
M JTable und Farbe von Zellen AWT, Swing, JavaFX & SWT 2
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
S Dreiecke in bestimmte Zellen einer JTable AWT, Swing, JavaFX & SWT 9
F JTable Zellen-Hintergrund ändern AWT, Swing, JavaFX & SWT 7
A Swing JTable Umgang mit Zellen AWT, Swing, JavaFX & SWT 2
S Swing Zeilenumbruch in JTable Zellen AWT, Swing, JavaFX & SWT 3
M Swing Jtable zellen zentrieren AWT, Swing, JavaFX & SWT 4
V JTable: Zugriff auf einzelne Zellen AWT, Swing, JavaFX & SWT 4
M JTable Zeilen und Zellen einfärben AWT, Swing, JavaFX & SWT 11
GUI-Programmer JTable - zentrierte Zellen AWT, Swing, JavaFX & SWT 2
B JTable Selektion von Zellen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing JTable Zellen intelligenter Zeilenumbruch AWT, Swing, JavaFX & SWT 4
K Swing JTable Editierfunktion für einzelne Zellen ausschalten AWT, Swing, JavaFX & SWT 3
X JTable Zellen nicht editierbar AWT, Swing, JavaFX & SWT 5
S Swing JTable - Editierung von Zellen abfangen AWT, Swing, JavaFX & SWT 3
GianaSisters Swing jTable (bestimmte Zellen umrahmen) AWT, Swing, JavaFX & SWT 8
N Swing JTable: Zellen verbinden AWT, Swing, JavaFX & SWT 11
N Zellen einer JTable unterschiedlich formatieren AWT, Swing, JavaFX & SWT 7
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
D Swing JTable Problem bei automatischem update von Zellen AWT, Swing, JavaFX & SWT 3
G JTable Multiple Row Header Example - Probleme mit der Höhe der Zellen AWT, Swing, JavaFX & SWT 4
C Swing JTable: Horizontale Linie bei einzelnen Zellen ausblenden AWT, Swing, JavaFX & SWT 5
C JTable: Alle selektierten Zellen abfangen AWT, Swing, JavaFX & SWT 13
V Nur zulässige Zeichen in JTable-Zellen eintragen können AWT, Swing, JavaFX & SWT 2
F Text Vertical in Zellen von JTable AWT, Swing, JavaFX & SWT 3
B Swing Drag&Drop einzelner Zellen in einer JTable AWT, Swing, JavaFX & SWT 12
S Swing JTable Auswahl mehrerer Zellen mit STRG+Maus AWT, Swing, JavaFX & SWT 3
A Flexible JTable mit editierbaren Zellen,abhängig von Data AWT, Swing, JavaFX & SWT 2
C JTable und farbige Zellen AWT, Swing, JavaFX & SWT 5
R JTable: Zellen einer Spalte unterschiedlich befüllen AWT, Swing, JavaFX & SWT 2
R JTable: Zellen einer Zeile zusammenfassen? AWT, Swing, JavaFX & SWT 3
R JTable darstellen von leeren Zellen AWT, Swing, JavaFX & SWT 12
E Drag&Drop JTable; Renderer füllt alle Zellen AWT, Swing, JavaFX & SWT 10
R JTable updatePaint() angabe der geänderten Zellen AWT, Swing, JavaFX & SWT 3
R JTable mehrere Zellen mit Shift selektieren AWT, Swing, JavaFX & SWT 2
R JTable einzelne Zellen selektieren AWT, Swing, JavaFX & SWT 7
R JTable - Rendern der einzelnen Zellen AWT, Swing, JavaFX & SWT 3
X in JTable nur einige Zellen editierbar machen AWT, Swing, JavaFX & SWT 2
G JTable: Spalten & Zellen fixieren wie in Excel AWT, Swing, JavaFX & SWT 4
G JTable Zellen makieren AWT, Swing, JavaFX & SWT 2
M JTable Zelle ändern -> andere Zellen mit ändern AWT, Swing, JavaFX & SWT 5
J JTable Zellen und Header AWT, Swing, JavaFX & SWT 2
A Zellen in JTable auf Klick kurz markieren auf Klick AWT, Swing, JavaFX & SWT 2
E JTable; DefaultTableCellRenderer. Zellen farbig befüllen. AWT, Swing, JavaFX & SWT 5
E JTable-während der Einfügezeit der Zellen in die Table AWT, Swing, JavaFX & SWT 2
H JTable Text aus mehreren Zellen in einer Spalte kopieren? AWT, Swing, JavaFX & SWT 3
M [Swing] Kalender mit JTable / Einfärben von Zellen AWT, Swing, JavaFX & SWT 10
A JTable, mehrere Zellen markieren AWT, Swing, JavaFX & SWT 3
L Again: In JTable bestimmte Zellen färben AWT, Swing, JavaFX & SWT 12
M CellEditor für individuelle Zellen in JTable AWT, Swing, JavaFX & SWT 3
G JTable(Zellen) und JPanel AWT, Swing, JavaFX & SWT 2
G Rowspan (Zellen verbinden) in JTable? AWT, Swing, JavaFX & SWT 3
R JTable Zellen markieren AWT, Swing, JavaFX & SWT 3
R JTable, automatischer resize der Zellen nach einer Eingabe AWT, Swing, JavaFX & SWT 4
T JTable, Zeilenumbruch in Zellen AWT, Swing, JavaFX & SWT 23
I einzelne Zellen bei JTable markieren AWT, Swing, JavaFX & SWT 3
G Zellen in JTable alphabetisch sortieren AWT, Swing, JavaFX & SWT 13
N JTable - Problem mit markieren von Zellen AWT, Swing, JavaFX & SWT 3
B JTable-Zellen einfärben AWT, Swing, JavaFX & SWT 6
W JTable Zellen verbinden AWT, Swing, JavaFX & SWT 2
S JTable Zellen ändern AWT, Swing, JavaFX & SWT 3
J Drag und drop aus einer JTable - bitte um Unterstützung AWT, Swing, JavaFX & SWT 2
S HPRO und UPRO gemeinsame JTABLE gemeinsamer RENDERER ? AWT, Swing, JavaFX & SWT 1
F Swing JTable - MultiHeader inkl. Eingabemöglichkeit AWT, Swing, JavaFX & SWT 1
S JTable - Feldinhalte anzeigen AWT, Swing, JavaFX & SWT 15
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
G jTable - getSelectedRow() AWT, Swing, JavaFX & SWT 3
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
D Tastaturabfragen CTRL+t, CTRL+E bei eine JTable, bestehend aus JTextAteas AWT, Swing, JavaFX & SWT 4
P Checkboxes in JTable nicht editable AWT, Swing, JavaFX & SWT 9
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
izoards JTable in CSV File schreiben... AWT, Swing, JavaFX & SWT 23
Kohl Jedes Objekt einer JTable um ein Zeichen verkürzen AWT, Swing, JavaFX & SWT 7
I JTable, DefaultTableModel, zwei Zahlen multiplizieren. AWT, Swing, JavaFX & SWT 26
M JTABLE / wie oft wurde gewürfelt. AWT, Swing, JavaFX & SWT 1
F JTable vergrößern AWT, Swing, JavaFX & SWT 2
H JTable: Diverse NullPointer-Exceptions zur Laufzeit AWT, Swing, JavaFX & SWT 3
J Swing Werte des JTable werden nicht angezeigt AWT, Swing, JavaFX & SWT 9
T Swing JTable cellRenderer mit jpg Hintergrundfarbe lässt sich nicht ändern. AWT, Swing, JavaFX & SWT 1
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
M Swing Cell Renderer für Zeilenumbruch in JTable AWT, Swing, JavaFX & SWT 0
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
MadMax2506 Swing JTable lädt sehr lange AWT, Swing, JavaFX & SWT 1
D Zeilenumbruch in einer JTable AWT, Swing, JavaFX & SWT 9
R Swing JTable und Spaltenausrichtung AWT, Swing, JavaFX & SWT 8
G JTable füllen AWT, Swing, JavaFX & SWT 1
H JTable TableCellEditor-Problem AWT, Swing, JavaFX & SWT 0
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J Datensatz in jTable ausgeben AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JTable aktualisieren AWT, Swing, JavaFX & SWT 5
adiko01 JTable: Nur markierte Zeilen aus der Tabelle in CSV exportiern AWT, Swing, JavaFX & SWT 9
M JTable.setDefaultRenderer(...) greift nicht AWT, Swing, JavaFX & SWT 0
J JTable: Eingabe in Tabellenzelle korrigieren AWT, Swing, JavaFX & SWT 4
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D JTable nach INSERT aktualisieren /refreshen AWT, Swing, JavaFX & SWT 1

Ähnliche Java Themen

Neue Themen


Oben