Spaltenbreite mit Sortierung

Status
Nicht offen für weitere Antworten.

michaelf

Mitglied
Hi @ all:

Mein Problem ist folgendes. In unserer JTable wird die Spaltenbreite den Überschriften angepasst. Nur ist jetzt das Problem aufgetaucht, dass wenn man sortiert, nicht mehr die ganzen Spaltenname angegeben werden. So sieht es aus:


1.jpg



Der Code zur Formatierung der Tabelle sieht folgendermassen aus:

Code:
  protected void initColumnWidth()
  {
    //-- optimize initial column width ---
    Enumeration<TableColumn> tableColumns = this.mainTable.getColumnModel().getColumns();

    //set HeaderRenderer: required for sizeWidthToFit below
    while ( tableColumns.hasMoreElements() )
    {
      TableColumn currentColumn = tableColumns.nextElement();
      currentColumn.setHeaderRenderer( this.mainTable.getTableHeader().getDefaultRenderer() );
    }

    //iterate once more, adapting width
    tableColumns = this.mainTable.getColumnModel().getColumns();
    while ( tableColumns.hasMoreElements() )
    {
      TableColumn currentColumn = tableColumns.nextElement();
      if ( currentColumn.getHeaderValue().toString().equals( TermConstants.TERM_LANGUAGE ) )
      {
        LOG.debug( "Setting language column to fixed width: " + LANGUAGE_COLUMN_WIDTH );
        currentColumn.setMinWidth( LANGUAGE_COLUMN_WIDTH );
        currentColumn.setMaxWidth( LANGUAGE_COLUMN_WIDTH );
        currentColumn.setPreferredWidth( LANGUAGE_COLUMN_WIDTH );
      }
      else
      {
        currentColumn.sizeWidthToFit();
        currentColumn.setMaxWidth( Integer.MAX_VALUE ); //do not limit maximum width
      }
    }
  }

Ich hoffe jemandem ist dieses Problem bekannt.


Grüsse
elf
 

michaelf

Mitglied
das geht schon. ich kann auch einfach die MinSize erhöhen.

aber ich hätte es gerne dynamisch, dass es nur so gross wird wenn auch der sortier pfeil erscheint.
 

André Uhres

Top Contributor
Versuch's mit einem MouseListener am TableHeader:
Code:
           private int sorted = -1;
            @Override
            public void mouseReleased(MouseEvent e) {
                int column = table.columnAtPoint(e.getPoint());
                if(column != sorted){
                    TableColumn tCol = null;
                    if(sorted != -1){
                        tCol = header.getColumnModel().getColumn(sorted);
                        tCol.setPreferredWidth(tCol.getWidth() - 20); 
                    }
                    tCol = header.getColumnModel().getColumn(column);
                    tCol.setPreferredWidth(tCol.getWidth() + 20); 
                    sorted = column;
                }
            }
Funktioniert bei Draggingbewegungen leider nicht so hundertprozentig :(
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
richis-fragen Spaltenbreite bei drag nicht änderbar AWT, Swing, JavaFX & SWT 4
D Swing JTable Spaltenbreite AWT, Swing, JavaFX & SWT 1
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
M Gridbaglayout Spaltenbreite AWT, Swing, JavaFX & SWT 3
S Jtable dynamische Spaltenbreite AWT, Swing, JavaFX & SWT 5
0 JTable Spaltenbreite automatisch an Inhalt anpassne geht nicht AWT, Swing, JavaFX & SWT 3
T jTable Spaltenbreite lässt sich nicht ändern AWT, Swing, JavaFX & SWT 8
A Swing Anpassen der Spaltenbreite durch die länge eines Strings AWT, Swing, JavaFX & SWT 3
1 Swing Spaltenbreite and CellEditor- Komponente anpassen AWT, Swing, JavaFX & SWT 4
R JTable: Spaltenbreite automatisch anpassen AWT, Swing, JavaFX & SWT 3
F Swing Spaltenbreite wird nicht gesetzt AWT, Swing, JavaFX & SWT 6
jueki Event bei Änderung der Spaltenbreite in einem JTable AWT, Swing, JavaFX & SWT 15
TiME-SPLiNTER Swing JTable Spaltenbreite beibehalten AWT, Swing, JavaFX & SWT 13
T JTable erst nach Änderung der Spaltenbreite neu zeichnen AWT, Swing, JavaFX & SWT 10
KrokoDiehl Swing Optimale Spaltenbreite auf Doppelklick (JTable) AWT, Swing, JavaFX & SWT 2
B Swing minimale Spaltenbreite für JTable AWT, Swing, JavaFX & SWT 2
T Spaltenbreite bei jTabel in Kombination mit Srollbalken AWT, Swing, JavaFX & SWT 2
L JTable automatische Spaltenbreite AWT, Swing, JavaFX & SWT 2
J JTable Spaltenbreite AWT, Swing, JavaFX & SWT 8
T JTable SpaltenBreite will einfach nich klappen AWT, Swing, JavaFX & SWT 4
J jTable, welcher listener für Änderung der Spaltenbreite AWT, Swing, JavaFX & SWT 2
D wiedermal JTable und die Spaltenbreite. AWT, Swing, JavaFX & SWT 8
S JTable Spaltenbreite AWT, Swing, JavaFX & SWT 2
T jTable / Spaltenbreite und Position AWT, Swing, JavaFX & SWT 2
K Spaltenbreite von mehreren Tabellen gleichzeitig verändern AWT, Swing, JavaFX & SWT 3
A JTable - Aktualisierung und Spaltenbreite AWT, Swing, JavaFX & SWT 5
J Probleme mit Spaltenbreite bei GridBagLayout AWT, Swing, JavaFX & SWT 19
S JTable und spaltenbreite AWT, Swing, JavaFX & SWT 2
G JTable: Spaltenbreite automatisch setzen AWT, Swing, JavaFX & SWT 4
L JTable -> Spaltenbreite ändern! AWT, Swing, JavaFX & SWT 3
J Spaltenbreite JTable AWT, Swing, JavaFX & SWT 7
L JavaFX TableView Column Sortierung AWT, Swing, JavaFX & SWT 1
T Problem mit JTable Sortierung AWT, Swing, JavaFX & SWT 2
D Sortierung in der einfach-verketteten Listen AWT, Swing, JavaFX & SWT 13
D Sortierung von Umlauten in einer JTable AWT, Swing, JavaFX & SWT 5
N Swing JTable mit Sorter: Keine Sortierung bei Klick in Header AWT, Swing, JavaFX & SWT 3
B Probleme bei Sortierung einer Tabelle mit DefaultTableModel AWT, Swing, JavaFX & SWT 6
S JTable - Sortierung beibhalten / Speichern. AWT, Swing, JavaFX & SWT 3
M JTable Sortierung - -zeilenweise mit Objekten verknüpfen AWT, Swing, JavaFX & SWT 4
C [SWT] Widget Table verliert nach Sortierung farbige / eingefärbter Background / Zellen AWT, Swing, JavaFX & SWT 3
L Swing Falscher Wert nach eigener Sortierung (JTable) AWT, Swing, JavaFX & SWT 2
G DefaultCategoryDataset sortierung von columnKey AWT, Swing, JavaFX & SWT 2
M Sortierung und Vertauschen von Spalten in JTable AWT, Swing, JavaFX & SWT 6
D Liste mit Tabellenkopf, Sortierung usw. AWT, Swing, JavaFX & SWT 2
J Daten in JTable nach Sortierung auslesen AWT, Swing, JavaFX & SWT 2
hdi Swing JTable - multiple Sortierung AWT, Swing, JavaFX & SWT 4
V JTable: Sortierung einer Spalte zum Programmstart? AWT, Swing, JavaFX & SWT 3
GilbertGrape JTable Sortierung. AWT, Swing, JavaFX & SWT 10
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
D Sortierung beim Klicken auf Header einer JdbTable verhindern AWT, Swing, JavaFX & SWT 3
S JList gibt nach Sortierung mit Collections keine Anzahl mehr AWT, Swing, JavaFX & SWT 3
L Falsche Zeile gelöscht nach Spalte Sortierung in JTable AWT, Swing, JavaFX & SWT 2
J JTable Sortierung AWT, Swing, JavaFX & SWT 18
B Sortierung der ColumnHeader AWT, Swing, JavaFX & SWT 8
N Sortierung einer JTable AWT, Swing, JavaFX & SWT 2
S Sortierung in JTable? AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben