[Java] table column width problemen.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik zit al weer een tijdje in de documentatie en op de java sun site te kijken. En ik kan maar geen antwoord vinden op mijn probleem. Ik heb een JTable en ik heb problemen om de column width te zetten.
code:
1
2
variableListTable.setAutoResizeMode(JTable.AUTO_RESIZE_NEXT_COLUMN);/deze ben ik nodig voor mooi uiterlijk.
variableListTable.getColumnModel().getColumn(0).setPreferredWidth(60);

En dit wil maar niet lukken. heb alles al geprobeerd. oa setWidth (mag niet :)) en de min width = 15 dus 60 zou geen problemen mogen veroorzaken.

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik bouw zelf voor de duidelijkheid altijd handmatig een DefaultTableColumnModel op uit TableColumns (is zo gebeurd en er is dan in ieder geval geen magie meer hoe de JTable eruit gaat zien. Dat vind ik uitermate onprettig). Als je een TableColumn aanmaakt kan je een width opgeven, die gebruikt wordt voor de initial width en de preferred width. Dat werkt altijd perfect :) .

Als je na het weergeven de preferredWidth aanpast moet je misschien wel een of andere opnieuw-indeel methode aanroepen?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
doLayout() (in JTable) zie ik staan... Werkt dat?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Op donderdag 01 november 2001 11:02 schreef mbravenboer het volgende:
doLayout() (in JTable) zie ik staan... Werkt dat?
Nope :) (net geprobeerd) en revalidate (layouts bij langsgaan) werkt ook niet..

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: Nope :) (net geprobeerd) en revalidate (layouts bij langsgaan) werkt ook niet..
Hum, dan zou ik toch maar ff een TableColumnModel opbouwen. Werkt wel prettig.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Aha... het werkt :)
maar die column header heeft geen hoogte meer, hoe kan ik dat fixen?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: hoe kan ik dat fixen?
Misschien iets met JTableHeader?

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
code:
1
variableListTable.getTableHeader().setPreferredSize(new Dimension(-1,18));

en dit is mijn code voor de TableColumnModel
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class VariableListColumnModel extends DefaultTableColumnModel
{
   public VariableListColumnModel()
   {
    super();

    TableColumn typeTableColumn = new TableColumn(0,30);   
      typeTableColumn.setHeaderValue("Type");
    addColumn(typeTableColumn);

    TableColumn nameTableColumn = new TableColumn(1,200);
    nameTableColumn.setHeaderValue("Variable");
    addColumn(nameTableColumn); 
   }

}

Verwijderd

code:
1
2
3
4
5
6
7
int tempi = VariablesTableModel.getColumnCount();
TableColumn column = null;

for (int ii = 0; ii < tempi; ii++) {
     column = Variables.getColumnModel().getColumn(ii);
     column.setMinWidth(50); 
}

Nu word alles standaard op 50 gezet. Alleen kleiner zetten dan 50 mag bij mij dus ook nog steeds.....is vaag, maar toch. Bij mij werkt het zo.
Pagina: 1