Swing Mit TableCellRenderer einzelne Zellen markieren

dbausnnd

Aktives Mitglied
Hi,

ich nutze einen eigenen TableCellRenderer den ich vom DefaultTableCellRenderer ableite. Wenn ich in der Methode getTableCellRendererComponent setForeground(Color.RED) hinterlegt wird die komplette Tabelle in Rot dargestellt. Wenn ich jedoch lediglich eine Spalte markieren möchte wird immer lediglich der Wert der Spalte in der markierten Zeile rot dargestellt. Auch wenn ich die Darstellung auf den Inhalt prüfen will. Beispielsweise wenn A enthalten ist soll der Wert rot dargestellt werden klappt das nur wenn die Zeile mit eine A markiert ist.

Hat jemand eine Idee?

Code:
@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		Component c = super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
				row, column);
		
		if(value.toString().equals("A")){
                                        //Geht nicht
			c.setForeground(Color.RED);
		}
		
		if(column == 2){
                                        //Geht nicht
			c.setForeground(Color.RED);
		}

                          //Klappt
                           c.setForeground(Color.RED);
		
		return this;
	}
 
Zuletzt bearbeitet:

dbausnnd

Aktives Mitglied
Hi,

mein Fehler. Habe so viel rumgetestet das der Code nicht ganz korrekt war:

Beispiel 1:
Code:
@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		Component c = super.getTableCellRendererComponent(table, value,
				isSelected, hasFocus, row, column);

		if (value.toString().equals("A")) {
			//Geht nicht
			c.setForeground(Color.RED);
		}

		if (column == 2) {
			//Geht nicht
			c.setForeground(Color.RED);
		}

		//Klappt
		c.setForeground(Color.RED);

		return c;
	}

Das Ergebnis ist identisch mit diesem:

Code:
	@Override
	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		super.getTableCellRendererComponent(table, value,
				isSelected, hasFocus, row, column);

		if (value.toString().equals("A")) {
			//Geht nicht
			setForeground(Color.RED);
		}

		if (column == 2) {
			//Geht nicht
			setForeground(Color.RED);
		}

		//Klappt
		setForeground(Color.RED);

		return this;
	}
 

dbausnnd

Aktives Mitglied
Ich konnte das Problem erstmal lösen.

Ich nutze keine JTable sondern eine JXTable. Dort wird der prepareRenderer aufgerufen. Die Implementierung der JXTable ändert dabei die Farbe wieder in den STandartwert. Überschreibe ich die Implementierung der JXTable mit dem der JTable bekomme ich es korrekt angezeigt....

Kennt sich jemand mit der JXTable gut aus und kann das Verhalten erklären? Sollte die Verarbeitung mit den Renderern bei einer JXTable anders erfolgen?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B TableCellRenderer rendert Integer/Boolean Felder nicht AWT, Swing, JavaFX & SWT 4
M Swing TableCellRenderer elegant anpassen AWT, Swing, JavaFX & SWT 3
O Swing TableCellRenderer und JComboBox AWT, Swing, JavaFX & SWT 4
C Swing TableCellRenderer: setText() vs. setIcon() AWT, Swing, JavaFX & SWT 5
E Swing TableCellRenderer für alle Splaten setzen?! AWT, Swing, JavaFX & SWT 3
M gleicher TableCellRenderer für mehrere unterschiedliche Tabellen AWT, Swing, JavaFX & SWT 5
A Swing TableCellRenderer ändert die Zeilenfarbe zu spät AWT, Swing, JavaFX & SWT 3
J Swing JTable, eigener TableCellRenderer Keine Anzeige in den Zellen AWT, Swing, JavaFX & SWT 8
J NullPointerException bei Benutzung vom TableCellRenderer AWT, Swing, JavaFX & SWT 3
U TableCellRenderer: Problem mit Timestamp/Date AWT, Swing, JavaFX & SWT 2
U TableCellRenderer UND prepareRenderer AWT, Swing, JavaFX & SWT 12
C Swing TableCellRenderer AWT, Swing, JavaFX & SWT 10
U TableCellRenderer und setBackground AWT, Swing, JavaFX & SWT 20
H Swing TableCellRenderer für verschiedene Spalten AWT, Swing, JavaFX & SWT 11
C Swing Problem mit TableCellRenderer in Verbindung mit TableRowSorter AWT, Swing, JavaFX & SWT 2
R JTable - TableCellRenderer AWT, Swing, JavaFX & SWT 3
R JTable - TableCellRenderer - BufferedImage AWT, Swing, JavaFX & SWT 9
S TableCellRenderer: JLabel-Background in JPanel AWT, Swing, JavaFX & SWT 7
R JTable mit TableCellRenderer AWT, Swing, JavaFX & SWT 10
R JTable - TableCellRenderer AWT, Swing, JavaFX & SWT 2
D TableCellRenderer rendert einfach nicht! AWT, Swing, JavaFX & SWT 4
S TableCellRenderer setForeground AWT, Swing, JavaFX & SWT 5
I Problem mit TableCellRenderer AWT, Swing, JavaFX & SWT 3
K TableCellRenderer Problem AWT, Swing, JavaFX & SWT 3
F TableCellRenderer wie umsetzen? AWT, Swing, JavaFX & SWT 2
D JTable TableCellRenderer AWT, Swing, JavaFX & SWT 2
J JTable und TableCellRenderer AWT, Swing, JavaFX & SWT 2
G TableCellRenderer Background variiert darstellen AWT, Swing, JavaFX & SWT 3
P TableCellRenderer mit einem TableRowSorter AWT, Swing, JavaFX & SWT 4
D TableCellRenderer PRoblem AWT, Swing, JavaFX & SWT 3
G TableCellRenderer soll ganze ausgewählte Zeile markieren AWT, Swing, JavaFX & SWT 2
S TableCellRenderer deaktivieren AWT, Swing, JavaFX & SWT 13
J TableCellRenderer AWT, Swing, JavaFX & SWT 5
S JTree mal anders (TableCellRenderer) AWT, Swing, JavaFX & SWT 6
S TableCellRenderer, Performance AWT, Swing, JavaFX & SWT 9
M Objekt in TableCellRenderer packen, warum ein Fehler? AWT, Swing, JavaFX & SWT 2
T TableCellRenderer Problem AWT, Swing, JavaFX & SWT 6
B TableCellRenderer + JComboBoxen AWT, Swing, JavaFX & SWT 2
A Mit JavaFX einzelne Zeilen in TableView farbig markieren AWT, Swing, JavaFX & SWT 5
P AWT Einzelne Komponenten zur Laufzeit austauschen? AWT, Swing, JavaFX & SWT 3
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
J JavaFX TabPane / Wie füge ich einzelne items ? AWT, Swing, JavaFX & SWT 1
VfL_Freak Swing Einzelne Zeile in jTable selektieren klappt nicht AWT, Swing, JavaFX & SWT 7
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
S Swing JTable - Einzelne Rows einfärben AWT, Swing, JavaFX & SWT 11
L Swing CellRenderer für einzelne Zellen? AWT, Swing, JavaFX & SWT 5
N jFreeChart einzelne Punkte anwählen und Formatieren AWT, Swing, JavaFX & SWT 0
M JavaFX TextArea einzelne Buchstaben färben AWT, Swing, JavaFX & SWT 3
T Swing Einzelne Teile eines Textes färben? AWT, Swing, JavaFX & SWT 10
M Einzelne Ordner im JFileChooser ausgrauen? AWT, Swing, JavaFX & SWT 4
R einzelne Zeichen in jTable einlesen AWT, Swing, JavaFX & SWT 10
M Swing Einzelne Fenster schließen AWT, Swing, JavaFX & SWT 2
V JTable: Zugriff auf einzelne Zellen AWT, Swing, JavaFX & SWT 4
K Swing CellEditor für einzelne Zellen AWT, Swing, JavaFX & SWT 2
K Swing JTable Editierfunktion für einzelne Zellen ausschalten AWT, Swing, JavaFX & SWT 3
S Einzelne JComboBox in JTable austauschen AWT, Swing, JavaFX & SWT 4
F Einzelne TreeNode an einem JTree editierbar machen AWT, Swing, JavaFX & SWT 3
C JTree Einzelne Objekte färben AWT, Swing, JavaFX & SWT 4
C Spielfeld Gitter - Einzelne Zellen verändern AWT, Swing, JavaFX & SWT 18
J CellRenderer einzelne zellen Hintergrund AWT, Swing, JavaFX & SWT 9
B Swing Einzelne Zelle in JTable soll NICHT auswählbar sein AWT, Swing, JavaFX & SWT 9
M JTable einzelne Zeilen färben AWT, Swing, JavaFX & SWT 2
A Swing JTree Editable einzelne Nodes editierbar machen! AWT, Swing, JavaFX & SWT 2
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
T JTable - Einzelne Spalte nicht sortieren? AWT, Swing, JavaFX & SWT 2
R JTable einzelne Zellen selektieren AWT, Swing, JavaFX & SWT 7
H Einzelne Pixel auf Transparenz überprüfen? AWT, Swing, JavaFX & SWT 3
J JTable: Einzelne Zelle selektieren AWT, Swing, JavaFX & SWT 6
X Einzelne Border setzen AWT, Swing, JavaFX & SWT 2
F png-Datei erstellen und einzelne Pixel schreiben AWT, Swing, JavaFX & SWT 2
J MVC- einzelne Sichten auf einer Hauptsicht anzeigen AWT, Swing, JavaFX & SWT 3
S Einzelne Frame Fenster schließen AWT, Swing, JavaFX & SWT 2
S Einzelne Frame Fenster schließen AWT, Swing, JavaFX & SWT 2
P JTextArea - einzelne Zeile löschen bzw einfügn AWT, Swing, JavaFX & SWT 2
G Einzelne Objekte neu zeichnen AWT, Swing, JavaFX & SWT 8
B einzelne Zellen scrollbar machen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 3
E JTable einzelne reihe editierbar machen AWT, Swing, JavaFX & SWT 2
I einzelne Zellen bei JTable markieren AWT, Swing, JavaFX & SWT 3
C JTable: Einzelne Spalten nicht editierbar machen AWT, Swing, JavaFX & SWT 2
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
P JTable Listener für die Änderung einzelner Zellen oder Rows AWT, Swing, JavaFX & SWT 2
I JavaFX Zellen in Tableview editieren AWT, Swing, JavaFX & SWT 0
B JTable Zellen zusammenfügen AWT, Swing, JavaFX & SWT 3
B JavaFX TableView-Zellen sollen automatisch so groß wie der größte Inhalt sein AWT, Swing, JavaFX & SWT 6
J Tableview - kann man mit Enter die Zellen wechseln AWT, Swing, JavaFX & SWT 1
S JavaFX GridPane Zellen Seitenverhätnis passend ändern mit der Stage AWT, Swing, JavaFX & SWT 0
E JavaFX TableView mit Zeilenumbruch in Zellen AWT, Swing, JavaFX & SWT 5
S Dreiecke in bestimmte Zellen einer JTable AWT, Swing, JavaFX & SWT 9
J JavaFX Bestimmte Zellen im TableView ändern (Farbe und Text) AWT, Swing, JavaFX & SWT 1
F JTable Zellen-Hintergrund ändern AWT, Swing, JavaFX & SWT 7
J Zellen in JavaFx einfärben funktioniert nicht AWT, Swing, JavaFX & SWT 1
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
J CellEditorListener wird für ALLE Zellen ausgeführt AWT, Swing, JavaFX & SWT 2
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

Ähnliche Java Themen

Neue Themen


Oben