Swing Farbige Zelle ohne DefaultTableCellRenderer

Status
Nicht offen für weitere Antworten.

deluxe1986

Mitglied
Hallo,
ich sitze schon seit längerem an einem Problem mit einem JTable fest und zwar schreibe ich gerade für einen Programmierbeleg an unserer FH ein Finanzkalkulationsprogramm.
Das Programm hat eine Gesamtübersicht für die einzelnen Konten und mehrere Unterkontenansichten die alle auf mehreren Tabs verteilt sind. Die Eingabe einer neuen Zeile erfolgt über ein weiteres Dialogfenster wo die gewünschten Werte eingetragen werden. Wenn nun ein negativer Betrag eingegeben wird soll dieser in dem Table rot dargestellt werden. Dies klappt schon mal soweit das wenn ein negativer Betrag eingegeben wurde das gesamte Table die Schriftfarbe rot bekommt und wenn darauf ein weiterer positiver Betrag eingegeben wird das Table wieder komplett schwarz wird. Ich habe auch schon hier im Forum gesucht jedoch komme ich einfach nicht weiter. Ich schicke euch mal den Code wo es bei mir hapert wenn ihr noch mehr Infos benötigt werde ich diesen hier auch posten jedoch ist es zu umfangreich alles zu posten da ich um die neun Tabs besitze :oops::oops:.
Ich hoffe ihr könnt mir weiterhelfen.

Java:
//
// Alle negativen Umsätze rot färben
for(int z = 0; z < Tab1.table.getRowCount(); z++)
{
       String s = (String) ((DefaultTableModel)Tab1.table.getModel()).getValueAt(z, 4);
       test = Double.valueOf(s);
       TableCellRenderer rend = Tab1.table.getCellRenderer(z, 4);
       if (test < 0 )
       {
             ((JComponent) rend).setForeground(Color.RED);
             repaint();
       }
       else
       {
             ((JComponent) rend).setForeground(Color.BLACK);
             repaint();
       }
}
 

André Uhres

Top Contributor
Das kann so nicht gehen weil alle Zeilen denselben Renderer haben. Versuch JTable#prepareRenderer zu überschreiben. In den FAQ von java-forum.org findest du ein Beispiel im JTable Tutorial.
 

deluxe1986

Mitglied
Hab das schon soweit hinbekommen das er mir die Zelle rot zeichnet.
Hab diesen Beitrag ausversehen zwei mal gepostet....:oops::(
Jedoch hab ich jetzt das Problem das er mir die Spalte komplett rot zeichnet und nicht nur die jeweiligen Zellen :eek:
 

André Uhres

Top Contributor
Hab grad den anderen Thread entdeckt:
http://www.java-forum.org/awt-swing-swt/97490-farbige-zelle-ohne-defaulttablecellrenderer.html
Gemäss deinem Thema "Farbige Zelle ohne DefaultTableCellRenderer" dachte ich, du willst keinen Renderer (deshalb mein Vorschlag mit JTable#prepareRenderer, aber es geht natürlich auch ähnlich mit dem Renderer).

Der Renderer arbeitet wie ein Stempel. Wenn wir den Stempel selbst mit "repaint" neu malen, ändert das nichts an den Abdrucken. Darum muss der Stempel selbst die gesamte Konfigurationslogik enthalten und "wissen" welche Zelle (row, column) welche Farbe bekommt.

Wenn das TableModel richtig implementiert ist, wird die Anzeige bei jeder Änderung im Model automatisch angepasst (und der Stempel, sprich Renderer, für die betroffenen Zellen neu aufgedruckt).

Falls externe Daten Einfluss auf die JTable haben, sollte ein "table.repaint()" genügen, um die Anzeige zu aktualisieren, nachdem diese Daten verändert wurden.
 

L-ectron-X

Gesperrter Benutzer
Thema geschlossen, da es einen weiteren Thread vom TO mit dem gleichen Thema gibt.
Siehe Link von André Uhres.

Weitere Antworten bitte dort posten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Swing Farbige Zelle ohne DefaultTableCellRenderer AWT, Swing, JavaFX & SWT 17
H JTextArea - farbige Zeilen .. bitte um Vorschläge zur Implementierung AWT, Swing, JavaFX & SWT 1
W Swing Farbige JPanels auf JFrame werden nicht gezeigt. Was mach ich falsch? AWT, Swing, JavaFX & SWT 7
C [SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen AWT, Swing, JavaFX & SWT 3
L Swing Farbige JComboBox schreiben AWT, Swing, JavaFX & SWT 5
T jTable und farbige Spalten AWT, Swing, JavaFX & SWT 18
C JTable und farbige Zellen AWT, Swing, JavaFX & SWT 5
G Farbige Quadratein JCombobox AWT, Swing, JavaFX & SWT 5
M Farbige Linien zeichnen AWT, Swing, JavaFX & SWT 3
V JTable - farbige Boolean-Felder - geht das? AWT, Swing, JavaFX & SWT 3
G Farbige Label AWT, Swing, JavaFX & SWT 2
D Farbige JCombobox AWT, Swing, JavaFX & SWT 7
W Kleine Sub-Tabelle in SpreadsheetView-Zelle anzeigen AWT, Swing, JavaFX & SWT 9
S TableCellRender - Zelle auf editier-/anklickbar setzen AWT, Swing, JavaFX & SWT 5
F Best-Practise: JTable Text in Zelle zu groß AWT, Swing, JavaFX & SWT 2
missy72 JavaFX TableView / TableColumn / ObservableList / zwei Werte in einer Zelle AWT, Swing, JavaFX & SWT 2
HoT Einzelne Zelle in JTable Rahmen unten setzen AWT, Swing, JavaFX & SWT 24
P JavaFX aktuelle Tabellenzeile bei Choice-Box-Auswahl in Zelle ermitteln AWT, Swing, JavaFX & SWT 28
T Zelle- und die Zeile-Farbenwechsel bei der Selektion in der Tabelle AWT, Swing, JavaFX & SWT 4
P JavaFX TableView Zelle markieren AWT, Swing, JavaFX & SWT 3
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
M Swing Automatischer Editorstart in JTable-Zelle AWT, Swing, JavaFX & SWT 5
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
M Wert einer Zelle aus JTable ziehen AWT, Swing, JavaFX & SWT 4
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
LexeB4F Zelle in JTable gezielt einfärben AWT, Swing, JavaFX & SWT 4
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
K Swing JTable mit ImageIcon und Text in einer Zelle AWT, Swing, JavaFX & SWT 1
E JavaFX TableView mit Rechtsklick Zelle auswählen AWT, Swing, JavaFX & SWT 8
E JTable Hintergrund von geklickter Zelle ändern AWT, Swing, JavaFX & SWT 2
J CellFactory in Abhängigkeit von anderer Zelle AWT, Swing, JavaFX & SWT 4
M JTable: Prüfen ob Zelle leer ist AWT, Swing, JavaFX & SWT 5
O Swing JTable - Zelle fokussieren AWT, Swing, JavaFX & SWT 10
L JTable selektierte Zelle in Bearbeitungs Modus AWT, Swing, JavaFX & SWT 2
H Combobox in einer einzelnen Zelle der Jtable AWT, Swing, JavaFX & SWT 2
R Swing Hintergrundfarbe der Zelle in einer JTable bei Markierung AWT, Swing, JavaFX & SWT 2
M Jtable Objecte aus Zelle AWT, Swing, JavaFX & SWT 13
M Beim Start von TableEditor Inhalt der Zelle markieren. AWT, Swing, JavaFX & SWT 2
S Swing Zelle einer JTable hervorheben (ohne CellRenderer) AWT, Swing, JavaFX & SWT 3
A JTable Zelle markieren von bis und Löschen AWT, Swing, JavaFX & SWT 6
F JTable soll mit Buttons befüllt werden, aber nicht in jede Zelle einer Spalte AWT, Swing, JavaFX & SWT 3
T DefaultTableCellRenderer Farbe bestimmter Zelle ändern AWT, Swing, JavaFX & SWT 2
GianaSisters Swing ComboBox im jTable (in bestimmter Zelle nicht über die ganze Spalte) AWT, Swing, JavaFX & SWT 4
O JButton in Zelle von JTable AWT, Swing, JavaFX & SWT 4
K Tabellen Inhalt ( Zelle ) Modifizieren AWT, Swing, JavaFX & SWT 2
J Zelle eine JTable ändern AWT, Swing, JavaFX & SWT 3
R Drag an Drop JTable Zelle AWT, Swing, JavaFX & SWT 6
T JTable, Popup Fester per Rechtsklick auf Zelle AWT, Swing, JavaFX & SWT 19
H variable Höhe einer JTextArea (als Renderer/Editor) als Zelle einer JTable AWT, Swing, JavaFX & SWT 9
C Swing JTable zeigt in jeder Zelle einer Reihe denselben Inhalt AWT, Swing, JavaFX & SWT 2
lenniii Zelle in JTable ändern AWT, Swing, JavaFX & SWT 2
J Swing JTable, jede Zelle ein anderer Title im TitledBorder AWT, Swing, JavaFX & SWT 5
D JTables, Test highlighten innerhalb einer Zelle AWT, Swing, JavaFX & SWT 5
S Swing JTable nach einer Änderung einer Zelle komplett aktualisieren. AWT, Swing, JavaFX & SWT 10
N Methode zum ermitteln der editierte Zeile/Zelle in jTable AWT, Swing, JavaFX & SWT 8
C Swing JTable Zelle mit Einfachklick editieren AWT, Swing, JavaFX & SWT 3
C JTable: Mehrere Farben in einer Zelle darstellen AWT, Swing, JavaFX & SWT 10
T Swing JTable - true zurückbekommen, wenn der Cursor in einer Zelle blinkt AWT, Swing, JavaFX & SWT 7
C JTable markierte Zelle wird bei removeRow nicht mit gelöscht AWT, Swing, JavaFX & SWT 6
Dit_ Verschiedene Icons in einer JTable-Zelle AWT, Swing, JavaFX & SWT 2
A JTable Zelle Padding AWT, Swing, JavaFX & SWT 9
R JTable Hintergrund der Zeile abhängig von Inhalt einer Zelle verändern AWT, Swing, JavaFX & SWT 3
S Swing DnD: Wie finde ich heraus, von welcher Zelle aus im JTable der Drag gestartet wurde? AWT, Swing, JavaFX & SWT 3
U LayoutManager [GBL] Component aus einer Zelle löschen AWT, Swing, JavaFX & SWT 2
E Zelle in JTable nach klick markieren AWT, Swing, JavaFX & SWT 2
O JTable Zelle mit "ENTER" in Editmode setzen AWT, Swing, JavaFX & SWT 4
eskimo328 JTable nächste Zelle nach Eingabe einer Ziffer AWT, Swing, JavaFX & SWT 5
B Swing Einzelne Zelle in JTable soll NICHT auswählbar sein AWT, Swing, JavaFX & SWT 9
A Swing JTable Icon nur in einer Zelle AWT, Swing, JavaFX & SWT 2
B Swing JTable merkt sich die zuletzt selektierte Zelle AWT, Swing, JavaFX & SWT 3
T einzelne Zelle einer JTable auswählen und Hintergrundfarbe ändern AWT, Swing, JavaFX & SWT 2
M JTable - verlassen einer Zelle AWT, Swing, JavaFX & SWT 15
R JTable Darstellen der selektierten Zelle braucht lange AWT, Swing, JavaFX & SWT 7
S JTable Probleme wenn ich Zelle verlasse AWT, Swing, JavaFX & SWT 4
P Für den Inhalt einer Zelle (aus Tabelle) STRG-C anwenden AWT, Swing, JavaFX & SWT 2
S Welches Event beim ändern einer Zelle in einer JTable AWT, Swing, JavaFX & SWT 4
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A Multiple Zeilen in einer JTable Zelle AWT, Swing, JavaFX & SWT 6
W MouseListener für jede Zelle einer JTable AWT, Swing, JavaFX & SWT 4
V JTable verliert Fokus, wie offene Zelle schliessen? AWT, Swing, JavaFX & SWT 5
G jTable, spezille Zelle automatisch füllen AWT, Swing, JavaFX & SWT 13
J JTable: Einzelne Zelle selektieren AWT, Swing, JavaFX & SWT 6
T JPanel in JTable Zelle adden AWT, Swing, JavaFX & SWT 7
T JTable-Zelle mittels JFileChooser befüllen AWT, Swing, JavaFX & SWT 5
S JTable zwei Text-Zeilen in einer Zelle AWT, Swing, JavaFX & SWT 2
N JTable: Informiert werden, wenn User eine Zelle editiert hat AWT, Swing, JavaFX & SWT 2
M JTable: Editieren einer Zelle "von außen" abbreche AWT, Swing, JavaFX & SWT 2
M JTable Zelle ändern -> andere Zellen mit ändern AWT, Swing, JavaFX & SWT 5
S JCbox in Jtable Zelle nur anzeigen , wenn JCombobox ="a AWT, Swing, JavaFX & SWT 3
S Eine Zeile zu einer JTable hinzufügen wo Zelle selektiert is AWT, Swing, JavaFX & SWT 4
M JTable Zelle editieren AWT, Swing, JavaFX & SWT 2
S jTable Font einer Zelle ändern AWT, Swing, JavaFX & SWT 5
G Bei JTable eine bestimmte Zelle färben AWT, Swing, JavaFX & SWT 11
V JTable Zelle über befehl "selecten"? AWT, Swing, JavaFX & SWT 5
F Selectierung einer Zelle AWT, Swing, JavaFX & SWT 5
G JTable-Zeile/Zelle markieren und mir Shortcut in Arbeitsspei AWT, Swing, JavaFX & SWT 3
D JTable: Focus auf Zelle markiert ihren Text zum editieren AWT, Swing, JavaFX & SWT 2
S Farbe einer Zelle in JTable ändern AWT, Swing, JavaFX & SWT 13
J JList-Item ind JTable-Zelle auswählen. AWT, Swing, JavaFX & SWT 5
E TableCellEditor für jede Zelle AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben