Tabellenspalten rechtsbündig anzeigen

Hi!

Ich habe eine JTable, in der u. a. eine Spalte für den Namen des Kunden ist!

Diese Spalte muß ich rechtsbündig anzeigen, d. h. erstens rechtsbündig setzen und viel wichtiger, ich muß den hinteren Teil anzeigen, d. h. die Spalte ist wesentlich kleiner als der Name und „normaler“ Weise wird ja der Anfang angezeigt!

Ich muß das Ende anzeigen, da der hintere Teil des Namens wichig ist!

Dankää

Bernd

TableCellRenderer ändern!
Hallo Bernd,

schau Dir mal die Methode „createDefaultRenderers“ auf JTable an. Dort kannst Du erkennen, wie eine JTable Standard-Renderer für die Inhalte erzeugt.
Du könntest diese Methode überschreiben, und eigene Implementierungen des Interface TableCellRenderer dort einsetzen.
Weitere Möglichkeit, eigene Renderer zu setzen:

JTable:setDefaultRenderer(Class, TableCellRenderer)

oder

TableColumn:setCellRenderer(TableCellRenderer)

Denkbar wäre für Deine Anwendung ein JLabel, der den Text rechtsbündig anzeigt.

Viel Erfolg

Frank

Hi!

Meine Frage war wohl net ausführlich genug ;o))

Ich benutze die Methode setdefaultRenderer und habe einen Textrenderer

(public class TextRenderer extends BasicJTextField implements TableCellRenderer)

wo ich die Methode

public Component getTableCellRendererComponent

überschrieben habe!
Ich hab dort auch die Ausrichtung auf rechtsbündig gestellt, doch löst dies mein Problem net, denn wenn der Text zu lang ist zeigt er den Anfang
des Textes, nicht das Ende!!

Werd mal deinen Hinweis nachgehen ob ich noch mehr fin, aber vielleicht weist du ja noch was mehr ;o)))

Dankää schonmal

Bernd

: Hallo Bernd,
:
: schau Dir mal die Methode „createDefaultRenderers“ auf JTable
: an. Dort kannst Du erkennen, wie eine JTable Standard-Renderer
: für die Inhalte erzeugt.
: Du könntest diese Methode überschreiben, und eigene
: Implementierungen des Interface TableCellRenderer dort
: einsetzen.
: Weitere Möglichkeit, eigene Renderer zu setzen:
:
: JTable:setDefaultRenderer(Class, TableCellRenderer)
:
: oder
:
: TableColumn:setCellRenderer(TableCellRenderer)
:
: Denkbar wäre für Deine Anwendung ein JLabel, der den Text
: rechtsbündig anzeigt.
:
: Viel Erfolg
:
: Frank

Vielleicht ein JPanel mit JLabel?
Probier doch mal als Renderer ein JPanel mit einem BorderLayout und setz dort ein JLabel mit HorizontalTextAlignment RIGHT an die Position EAST. Könnte klappen.

Frank

Hi!

Mit dem horizontaltextalignment klappt es nicht mal bei einem einfachen JLabel…

Hat ncoh jemand eine Idee ;o)))

Bernd

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]