JTable Renderer

Verwirrung…

also ich (danke diesem Forum) es hinbekommen meinen eigenen Tabel cell renderer zu schreiben der ein Label in die Tabellen Zellen einfügt.
Soweit so gut… NUN

Wollte ich auf dieses Label zu greifen, darauf hin habe ich mir den
Cell Renderer geholt:

JLabel oLbl = (JLabel)this.jTable1.getCellRenderer(0, 0);

Da habe ich aber immer die zuletzt angeklickte Zelle bekommen.

SO funktioniert es:

this.jTable1.prepareRenderer(this.jTable1.getCellRenderer(0, 0), 0, 0);

aber ist das Richtig?

Tut mir ja selbst leid das ich so dumm Frage… aber ich bin mir da gerade nicht so sicher ob das richtig ist was ich da mache. :slight_smile:

was war denn mit deinem alten Thema, konnte es da nicht weitergehen?
sonst wenigstens verlinken,

“Es funktioniert - ist es aber auch richtig?”
ist kein richtiger Titel, niemand bekommt eine Information daraus, etwa dass es um JTable geht,
soviel Zeit zum Durchatmen und Überlegen nehmen, das ist kein Chat


en Renderer ist ein Objekt, das dann wenn es gebraucht wird, kurzzeitig eine JComponent zurückgibt die zeichnet,
dabei kann ein JLabel gegeben werden, der Renderer kann auch selber ein JLabel sein,
da gibt es manche Tricks,

aber all das ist nur temporär zum Zeichnen, das JLabel bekommt nacheinander alle Werte und mal diese kurz hin,
es gibt eigentlich nicht ‘ein Label’ welches für eine bestimmte Zelle steht,

Das Label, das geliefert wird, ist immer dasSELBE für alle Tabellenzellen (zumindest sollte es das sein), interessant wäre deswegen auch die Frage, wozu du dieses Label brauchst…

Sag uns doch einfach was du erreichen willst, das wast du vorhast klingt nach Pfusch.

Ich wollte die Tabelle selbst quasi „nur“ als Matrix missbrauchen.
In die Tabelle selbst wollte ich nun über die Labels ein weiteres Label legen das z.B. von von Zelle 0,0 bis Zelle 0,3 geht.

Man kann es sich vielleicht ein wenig vorstellen wie bei Termin Kalender.

Eine JTable enthält keine Labels. Die angezeigten Zellen sind nur gerendert.
Für etwas a la Terminkalender ist es evtl. besser eine eigenen Komponente zu entwerfen und alles selbst zu zeichnen / anzuordnen.
Evtl. reicht es ja auch für das konkrete Vorhaben aus eine Komponente mit GridBagLayout (oder ähnlichen externen LayoutManagern) zu verwenden.

klingt nicht nach Dingen, die du einfach so erreichen kannst,

falls du irgendwas hiervon meinst:
http://www.java3z.com/cwbwebhome/article/article5/swing_example/JTableExamples4.html
dann versuche diese Codes zu verstehen/ zu verwenden

Suche: ‘java merge cells jtable’ oder entsprechend deutsches,
hier noch ein Link mit deutschen Blahblah und wohl doch auch nur Links


(edit: bezieht sich hauptsächlich auf einen Codeguru-Link, welche partout nicht mehr zu finden sind…,
gibt noch manch andere Links, codeguru.earthweb.com/java/articles, developer.codeguru.com, alles down…)

[QUOTE=_Michael]Eine JTable enthält keine Labels. Die angezeigten Zellen sind nur gerendert.
Für etwas a la Terminkalender ist es evtl. besser eine eigenen Komponente zu entwerfen und alles selbst zu zeichnen / anzuordnen.
Evtl. reicht es ja auch für das konkrete Vorhaben aus eine Komponente mit GridBagLayout (oder ähnlichen externen LayoutManagern) zu verwenden.[/QUOTE]
Klingt gut - werde ich jedem Fall mal probieren.

[QUOTE=SlaterB;28763]klingt nicht nach Dingen, die du einfach so erreichen kannst,

falls du irgendwas hiervon meinst:
http://www.java3z.com/cwbwebhome/article/article5/swing_example/JTableExamples4.html
dann versuche diese Codes zu verstehen/ zu verwenden

Suche: ‚java merge cells jtable‘ oder entsprechend deutsches,
hier noch ein Link mit deutschen Blahblah und wohl doch auch nur Links

(edit: bezieht sich hauptsächlich auf einen Codeguru-Link, welche partout nicht mehr zu finden sind…,
gibt noch manch andere Links, earthweb.com, developer.codeguru.com, alles down…)[/QUOTE]
Danke für die Links - insbesondere der erste - da werde ich mich auch mal durch hangeln.

Sorry wenn ich als mal blöde Fragen stelle od. Zusammenhänge nicht sofort sehe, aber ich bin in meinem Leben bis jetzt nur sehr wenig mit Java in Berührung gekommen. :slight_smile: