[Java]JSCrollPane probleem, geen scrollbars

Pagina: 1
Acties:

  • Goldme
  • Registratie: September 2000
  • Laatst online: 21-08 13:42
Ik heb een vaag probleem met een JScrollPane. Ik heb namelijk een JTable met een tamelijk groot aantal kolommen(64).

Als ik deze JTable echter in een JScrollPane plaats komt er geen horizontale scrollbar.

De code is als volgt:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
dagOverzicht= new JTable(x,x);//x zijn gewoon getallen, kolommen en rijen
for(int i=0;i<te.length;i++)
{
    dagOverzicht.getColumnModel().getColumn(i).setHeaderValue(x);
    dagOverzicht.getColumnModel().getColumn(i).setHeaderRenderer(new XHeaderRenderer());
    dagOverzicht.getColumnModel().getColumn(i).setCellRenderer(new XRenderer());
    dagOverzicht.getColumnModel().getColumn(i).setMinWidth(40);
}

for(int i=0;i<wp.length;i++)
{
    for(int j=0;j<te.length;j++)
    {
        dagOverzicht.setValueAt(x,i,j);//vul de lijst
    }
}

GridBagConstraints gbc= new GridBagConstraints();
gbc.gridx= 0;
gbc.gridy= 1;
gbc.gridheight=1;
gbc.gridwidth= 1;
gbc.fill= GridBagConstraints.HORIZONTAL;
JScrollPane sp= new JScrollPane(dagOverzicht);
add(sp,gbc);



Ik heb verscheidene dingen geprobeerd:

-horizontal bar altijd laten zien, hij is echter niet geactiveerd, de knopjes zijn er wel
-De viewport-size veranderd(nog steeds geen scrollbars)
-de preferred size van de scrollpane veranderd haalt ook niks uit.

Het lijkt simpel maar het wil maar niet lukken. Kan iemand me daarmee helpen?

Deze scrollpane wordt aangemaakt in een JPanel en wordt dus direct op deze jpanel ge-add, er wordt een gridbaglayout gebruikt maar daar lijkt het niet aan te liggen, een andere lijst die ook een scrollpane heeft laat wel de scrollbars zien.

[ Voor 13% gewijzigd door Goldme op 01-05-2003 12:15 ]


  • CyBoB
  • Registratie: Januari 2001
  • Laatst online: 24-12-2025

CyBoB

.::BURB::.

kan je niet gewoon bij het maken van de scrollpane het volgende doen?

Java:
1
JScrollPane sp= new JScrollPane(dagOverzicht, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);


dat zou gewoon moeten werken.

  • Goldme
  • Registratie: September 2000
  • Laatst online: 21-08 13:42
CyBoB schreef op 01 May 2003 @ 12:27:
kan je niet gewoon bij het maken van de scrollpane het volgende doen?

Java:
1
JScrollPane sp= new JScrollPane(dagOverzicht, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);


dat zou gewoon moeten werken.
Dat is de standaard setting, en zelfs met die regel doet ie het niet.

  • Goldme
  • Registratie: September 2000
  • Laatst online: 21-08 13:42
Ohja, een vertical scrollbar komt wel tevoorschijn, een horizontale is met geen mogelijkheid tevoorschijn te halen. Als het aantal kolommen klein is dan resizet ie die kolommen in het scherm. Als er teveel zijn gaat ie niet verder dan wat er op het scherm past, geen scrollbar(horizontal).

Nou dacht ik dat op te lossen door een minimum en maximum width te geven aan de kolommen maar dat wil ook niet lukken, ze zijn van de goede size maar weer gaan ze tot het eidne van de scherm en geen scrollbar te bekennen.

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
gebruik eens geen gridbag layout...

  • Goldme
  • Registratie: September 2000
  • Laatst online: 21-08 13:42
Opgelost. De oplossing is:

Java:
1
jouTabel.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);


Daar lag het dus aan, die moet je even uitzetten, anders zal hij de kolommen proberen te resizen op de grootte van het scherm en bij een groot aantal kolommen die buiten het beeld MOETEN vallen neemt ie niet eens de moeite om de scrollpane-scrollbalk te activeren, het loopt het beeld gewoon uit. Werkt kut maar hij doet het nu gelukkig wel.
Pagina: 1