Hallo,
ich habe eine JTable bei der ich möchte, dass der Text umgebrochen angezeigt wird, wenn er zu lang ist.
Dazu habe ich einen einfachen Renderer erstellt der von JTextArea ableitet und TableCellRenderer implementiert und in der getTableCellRendererComponent
stehen hat.
Das setzen an anderer Stelle schaut so aus:
jedoch passiert nichts. Die Methode das Renderers wird nichtmal aufgerufen (erkannt anhand eines Sysouts), warum? Muss ich sonst noch was wichtiges mit der JTable machen?
Das der JTable zugehörige TableModel kann ich ja manipulieren wie ich will, das sollte die Table und ihren Renderer ja nicht stören, oder?
Noch eine Frage am Rande: Eine maximale Spaltenbreite muss später logischerweise gesetzt werden, weil sonst einfach der maximale Platz ausgenutzt wird, richtig? Aber das sollte aktuell ja keine Rolle spielen, weil die Methode nicht aufgerufen wird.
Gruß
ich habe eine JTable bei der ich möchte, dass der Text umgebrochen angezeigt wird, wenn er zu lang ist.
Dazu habe ich einen einfachen Renderer erstellt der von JTextArea ableitet und TableCellRenderer implementiert und in der getTableCellRendererComponent
Java:
this.setWrapStyleWord(true);
this.setLineWrap(true);
this.setText((String)value);
return this;
stehen hat.
Das setzen an anderer Stelle schaut so aus:
Java:
tbl.setDefaultRenderer(String.class, new MyCellRenderer());
Das der JTable zugehörige TableModel kann ich ja manipulieren wie ich will, das sollte die Table und ihren Renderer ja nicht stören, oder?
Noch eine Frage am Rande: Eine maximale Spaltenbreite muss später logischerweise gesetzt werden, weil sonst einfach der maximale Platz ausgenutzt wird, richtig? Aber das sollte aktuell ja keine Rolle spielen, weil die Methode nicht aufgerufen wird.
Gruß