Icon in JTable

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo zusammen,

hab da mal eine Frage zu o.g. Betreff.

Ich benutze einen TableCellRenderer der von DefaultTableCellRenderer abgeleitet ist.

NUn habe ich folgenden Code:

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


Component comp = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);


String s = model.getValueAt(row, 6).toString();
		
		if(s.equalsIgnoreCase("K"))
		{
			setIcon(kIcon);
		}
		else
		{
			setIcon(null);
		}
		
		
		return comp;

Funktioniert auch (fast)
Mein Problem ist nun, dass ich lediglich vor den Text in Spalte 7 das Icon platzieren moechte, in Abhaengigkeit davon, ob in Spalte 6 ein "K" steht.

Mein Renderer setzt mir allerdings in jeder Zeile der betroffenen Spalte ein Icon.
Wie kann ich diesen Schoenheitsfehler korregieren?
 

Niki

Top Contributor
Probiers mal so:
Code:
      super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);


      String s = model.getValueAt(row, 6).toString();
      
      if(s.equalsIgnoreCase("K"))
      {
         setIcon(kIcon);
      }
      else
      {
         setIcon(null);
      }
      
      
      return this;
 

FenchelT

Bekanntes Mitglied
ups sehe gerade, war eben gar nicht angemeldet :roll:

Nein, das funktioniert leider nicht, aber danke erstmal fuer DEine Hilfe.

Ich hole mir ja in die Variable comp den Wert aus Spalte 6 um zu gucken, ob dort ein K steht.

Nun moechte ich aber in Spalte 7 der gleiche Zeile ein Icon vor den Wert setzen.
Das return this macht mir genau das gleiche wie ein return comp; es setzt mir vor jeden Wert in jeder Spalte einer betroffenen Zeile ein Icon :?

Mein Problem besteht also weiterhin :bahnhof:
 

Wildcard

Top Contributor
Ein Renderer stellt den Zustand von 'value' grafisch da.
Alle dafür notwendigen Informationen sollten in 'value' hinterlegt sein.
 

FenchelT

Bekanntes Mitglied
Hallo Wildcard,

wie soll ich das denn Deiner Meinung nach im value hinterlegen?

Ich kann im Model nicht hingehen und die Spalte als Icon.class zurueckgeben, da mir ansonsten der Text in der Spalte verloren geht.

Heisst, das Model liefert mir diese Spalte als Object zurueck.
Dementsprechend kann ich im Renderer in der setValue Methode nicht auf instanceof Icon abfragen.

Oder hab ich Dich jetzt ganz falsch verstanden?


Gruesse
 

Wildcard

Top Contributor
Du willst für bestimmte Objekte ein Icon anzeigen. Dann sollte aus deinem Datenmodell ersichtlich sein für welche.
Dein 'value' objekt muss also alle notwendigen Informationen mitbringen (direkt oder indirekt) um es anzeigen zu können.
 

FenchelT

Bekanntes Mitglied
Wildcard hat gesagt.:
Du willst für bestimmte Objekte ein Icon anzeigen.

NUnja nicht so ganz. Ich moechte nicht anstatt, sondern sowohl als auch.
In Spalte 6 steht ein Buchstabe (z.B. k,i,o,l) In Spalte 7 steht eine Beschreibung als Text.
Nun moechte ich

if (spalte 6 == "K")
{
spalte 7 = entsprechendes Icon + Beschreibungstext
}
else if (spalte 6 == "L")
{
spalte 7 = entsprechendes Icon + Beschreibungstext
}
else
{
nur der Beschreibungstext
}


Mein Modell kann daher fuer Spalte 7 nur Object.class sein und nicht z.B. Icon.class
Das ist der Grund, warum ich dachte es ueber einen CellRenderer zu machen.

Wenn mein Vorhaben so nicht funktioniert (was mich wundern wuerde) muesste ich eine sep. Spalte
einfuegen und im Model sagen, Du bist Icon.class.

Wenn ich es so mache, wie in meinem ersten Codebeispiel, setzt er ja vor ALLE Texte in jeder Spalte ein Icon, in Abhaengigkeit davon, ob in Spalte 6 irgendwo ein "K" steht.
 

Wildcard

Top Contributor
Du kannst dein Problem sicherlich lösen in dem du die Parameter row und column auswertest, aber was ich versuche dir zu sagen ist, dass sich das nicht nach einem sinnvollen Modell anhört.
Dein Renderer 'denkt' zu viel, bzw. ist hart kodiert. Du solltest über ein besseres Datenmodell nachdenken das alle benötigten Informationen enthält.
 

FenchelT

Bekanntes Mitglied
@wildcard:

Danke nochmal fuer den Schupser in die richtige Richtung. Habe das Prinzip nun verstanden :)


Gruesse
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
X Icon in JTable abbilden AWT, Swing, JavaFX & SWT 10
L toggel icon in jtable AWT, Swing, JavaFX & SWT 3
R JTable mit Column die Icon und Integer enthält? AWT, Swing, JavaFX & SWT 3
A Swing JTable Icon nur in einer Zelle AWT, Swing, JavaFX & SWT 2
R JTable Header - will links kleines icon hinzufuegen..? AWT, Swing, JavaFX & SWT 6
G Icon und Text in JTable darstellen AWT, Swing, JavaFX & SWT 3
S JTable - Einzelnes Icon AWT, Swing, JavaFX & SWT 4
K JTable Renderer - Probs mit Icon AWT, Swing, JavaFX & SWT 3
G Ikonli in Fat-Jar mit mehreren Icon-Packs einbinden AWT, Swing, JavaFX & SWT 5
I AWT java.awt.FileDialog - "coffee cup"-Icon lässt sich nicht ersetzen AWT, Swing, JavaFX & SWT 14
P Swing Icon einfügen wirft eine Fehlermeldung AWT, Swing, JavaFX & SWT 3
J JButton Icon hinzufügen AWT, Swing, JavaFX & SWT 5
U Swing JButton mit Icon AWT, Swing, JavaFX & SWT 7
N Swing Image aus Web laden und in Icon umwandeln AWT, Swing, JavaFX & SWT 4
krgewb Swing Icon von Button AWT, Swing, JavaFX & SWT 12
Shallty JavaFX MenuItem (Info) Icon ändern AWT, Swing, JavaFX & SWT 7
Legi Swing JButton Icon verschiebt sich AWT, Swing, JavaFX & SWT 2
U AWT Smoother Icon AWT, Swing, JavaFX & SWT 2
D Kein Icon beim JTabbedPane AWT, Swing, JavaFX & SWT 1
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D Icon in Menuitem einfügen AWT, Swing, JavaFX & SWT 8
C Icon in der Spaltenüberschrift AWT, Swing, JavaFX & SWT 1
C SWT Treeview mit Bilder im Label verändert Expanded Icon AWT, Swing, JavaFX & SWT 1
Tom299 JavaFX TreeView Expanded-Icon ändern AWT, Swing, JavaFX & SWT 0
E Swing Error icon in der TextArea AWT, Swing, JavaFX & SWT 1
D JButton - Nur Icon anzeigen / transparenter Hintergrund AWT, Swing, JavaFX & SWT 2
M label mit icon verschieben. AWT, Swing, JavaFX & SWT 1
M JavaFX wie kann mann sein frame mit einem Icon fersehen? AWT, Swing, JavaFX & SWT 2
C JavaFX Application -Icon wird falsch dargestellt AWT, Swing, JavaFX & SWT 7
J JavaFX TextArea dynamisch Icon im Background anzeigen AWT, Swing, JavaFX & SWT 2
P Image oder Icon auf Tooltip zeichnen AWT, Swing, JavaFX & SWT 4
D JavaFX - MenuItem mit Icon AWT, Swing, JavaFX & SWT 1
T JFrame Icon unter Linux/Ubuntu AWT, Swing, JavaFX & SWT 11
A Swing JColorChooser's Icon will nicht getauscht werden. AWT, Swing, JavaFX & SWT 10
B JAVAFX icon in ComboBox einfügen AWT, Swing, JavaFX & SWT 5
H Javafx - Menuitem - Icon AWT, Swing, JavaFX & SWT 4
J JComboBox Dropdown Icon AWT, Swing, JavaFX & SWT 2
vodkaz JButtonz Icon&Background AWT, Swing, JavaFX & SWT 3
B Windowbuilder - Icon für Button einbinden AWT, Swing, JavaFX & SWT 2
B Icon AWT, Swing, JavaFX & SWT 5
E Swing JFrame Icon AWT, Swing, JavaFX & SWT 3
F icon aus exe auslesen mithilfe des JFilechooser ? AWT, Swing, JavaFX & SWT 4
F DefaultTreeCellEditor - Fragen zur Groesse und zum Icon beim Editieren AWT, Swing, JavaFX & SWT 4
H Label mit Icon positionieren AWT, Swing, JavaFX & SWT 14
H Image Icon ersetzen AWT, Swing, JavaFX & SWT 8
J Icon vor Button AWT, Swing, JavaFX & SWT 7
M Swing JButton-Konstruktor Icon-Parameter (Verständnisfrage) AWT, Swing, JavaFX & SWT 7
TheWhiteShadow Swing Problem mit Icon-Menü-Leiste AWT, Swing, JavaFX & SWT 5
S Würfelanimation icon updaten AWT, Swing, JavaFX & SWT 8
S JButton -> Text über Icon AWT, Swing, JavaFX & SWT 4
M Swing DoubleBuffer mit Icon AWT, Swing, JavaFX & SWT 3
TiME-SPLiNTER JLabel mit Icon & JFrame Resize AWT, Swing, JavaFX & SWT 5
V Panel/Icon aktualisieren AWT, Swing, JavaFX & SWT 10
S 2D-Grafik Icon in Image (System Icons) AWT, Swing, JavaFX & SWT 2
M Icon wird bei externen Jar nicht angezeigt AWT, Swing, JavaFX & SWT 2
kodela Swing Icon in der Titelleiste "festnageln" AWT, Swing, JavaFX & SWT 6
G JLabel Icon Pfeilform AWT, Swing, JavaFX & SWT 14
S JCheckBoxMenuItem - Haekchen verschwindet bei Icon AWT, Swing, JavaFX & SWT 3
Burny91 Swing Swatches vom JColorChooser als Icon für JButton benutzen AWT, Swing, JavaFX & SWT 4
V Ein Image als Button (nicht mit JButton(Icon)) AWT, Swing, JavaFX & SWT 5
algorismi JInternalframe Icon AWT, Swing, JavaFX & SWT 14
M JCheckBox Icon anpassen AWT, Swing, JavaFX & SWT 2
E Icon für Fenster AWT, Swing, JavaFX & SWT 5
M Prozess-Icon im Prozessmanager AWT, Swing, JavaFX & SWT 8
W Swing Button mit Icon AWT, Swing, JavaFX & SWT 3
S svg Icon für Button (Batik Problem?) AWT, Swing, JavaFX & SWT 3
C Swing JToggleButton und Icon AWT, Swing, JavaFX & SWT 2
S JTree - Knoten mit animiertem GIF/Icon AWT, Swing, JavaFX & SWT 5
S vector Icon AWT, Swing, JavaFX & SWT 3
C LayoutManager Icon Einfügen? AWT, Swing, JavaFX & SWT 6
N Icon für Button wird nicht gefunden AWT, Swing, JavaFX & SWT 11
B SWT Eigenes Icon für CheckboxTreeViewer AWT, Swing, JavaFX & SWT 3
K LookAndFeel JTabbedPane mit Icon und CloseButton AWT, Swing, JavaFX & SWT 2
badfish Swing ImageIcon auf JLabel, Fenster Maximieren verbieten und Icon oben links austauschen? AWT, Swing, JavaFX & SWT 5
F Problem beim Positionieren von Icon und Text in Button AWT, Swing, JavaFX & SWT 2
T Icon von Frame ändern - Applet AWT, Swing, JavaFX & SWT 2
J Icon einer JCheckBox AWT, Swing, JavaFX & SWT 6
D Swing Anwenungs Icon AWT, Swing, JavaFX & SWT 8
J Swing JToolBar Button mit Icon AWT, Swing, JavaFX & SWT 4
V [Swing] Overlay Icon AWT, Swing, JavaFX & SWT 5
K Schachbrett / Icon / JButton AWT, Swing, JavaFX & SWT 7
T Abbrechen-Icon entfernen AWT, Swing, JavaFX & SWT 4
S Buttons mit großen Icon AWT, Swing, JavaFX & SWT 7
klattiator Icon und Button zum Schließen in einem Tab AWT, Swing, JavaFX & SWT 3
G Sehr kleine JButtons mit Icon oder Beschriftung AWT, Swing, JavaFX & SWT 2
G Icon ans Ende einer JToolbar AWT, Swing, JavaFX & SWT 7
D Abfrageproblem bei JMenu mit Icon AWT, Swing, JavaFX & SWT 2
K Icon auf JButton mit Wechsel der Farbe AWT, Swing, JavaFX & SWT 2
G Gap zwischen JButton-Rand und JButton-Icon verändern AWT, Swing, JavaFX & SWT 2
G JFrame Icon ändern AWT, Swing, JavaFX & SWT 5
S Eclipse Icon Set AWT, Swing, JavaFX & SWT 6
S Jtree-Icon per Klick auf JBUTTON ändern AWT, Swing, JavaFX & SWT 3
A Icon,zentriert,Farbiger Text alles in einer Tabelle/Spalte ? AWT, Swing, JavaFX & SWT 4
L icon auf Label AWT, Swing, JavaFX & SWT 4
K Icon und Text auf JButton anordnen AWT, Swing, JavaFX & SWT 2
D Icon in MenuItem AWT, Swing, JavaFX & SWT 3
B jtree root icon ändern AWT, Swing, JavaFX & SWT 1
H Java Jar Icon AWT, Swing, JavaFX & SWT 12
K SystemTray-Icon im Prozesslauf ändern AWT, Swing, JavaFX & SWT 2
P [JTree] Icon für Nodes und Leafs ändern bzw. löschen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben