Java probleempje- Geen Scrollerbar in JDesktopPane

Pagina: 1
Acties:

  • Bartoz
  • Registratie: November 2000
  • Niet online
Wie kan mij helpen?

Ik maak gebruik het skintooltje van l2fprod (www.l2fprod.com)
Ik een paneel met daaop een JDesktopPane. De JDesktopPane bevat een JinternalFrame.
Een JScrollPane bevat weer de JDesktoppane.
Het probleem: het JinternalFrame is groter dan het paneel (en dus ook groter dan de JdesktopPane. Maar naar het uitvoeren van mijn programma, (is het onderste dus niet zichtbaar), werken de scrollbars van het JScrollPane niet. Ik kan dus niet naar beneden scrollen.

Het kan een 'bug' zijn van l2fprod, daar heb ik al een maitlje heengestuurd, zonder antwoord...

Ik heb de code er maar bijgeplakt, ik heb al vanalles geprobeerd, tevergeefs helaas....

------------------------------ CODE --------------------------
import com.l2fprod.gui.*;
import com.l2fprod.gui.plaf.skin.*;
import com.l2fprod.util.*;

public class StudIPanel extends JPanel

public StudIPanel( )
{
frame2 = new JInternalFrame( "Test", false, false, false, false );

JDesktopPane desk = new JDesktopPane();

desk.putClientProperty("JDesktopPane.backgroundEnabled",Boolean.TRUE);
desk.putClientProperty("JDesktopPane.dragMode", "faster");

layout = new GridBagLayout();

frame2.getContentPane().setLayout(layout);
frame2.setSize( 450,850 );
frame2.setLocation( 50,50 );
frame2.setVisible(true);

constraints = new GridBagConstraints();
constraints.insets = new Insets( 2, 10, 2, 10 );

// Input voornaam
voornaamLabel = new JLabel("Voornaam:");
voornaamLabel.setFont ( new Font ( fontName, Font.BOLD,
fontSize ) );
LayoutTools.addComponent( voornaamLabel, constraints, layout,
frame2, voornaamRow, 0, 1, 1, 0.0f, constraints.BOTH,
constraints.CENTER );

// Buttons
okButton = new JButton ( "OK" );
okButton.setFont ( new Font ( fontName, Font.BOLD, fontSize ) );
okButton.addActionListener( handler );
LayoutTools.addComponent( okButton, constraints, layout, frame2, 2,
1, 1, 1, 1.0f, constraints.NONE, constraints.EAST );

cancelButton = new JButton ( "Annuleren" );
cancelButton.setFont ( new Font ( fontName, Font.BOLD, fontSize ) );
cancelButton.addActionListener( handler );
LayoutTools.addComponent( cancelButton, constraints, layout, frame2,
2, 2, 1, 1, 1.0f, constraints.NONE, constraints.WEST );

desk.add( frame2 );

setLayout(new BorderLayout());

JScrollPane scroller = new JScrollPane( desk );
scroller.setPreferredSize( new Dimension( 200,200 ) );
scroller.setVerticalScrollBarPolicy(
JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
scroller.setHorizontalScrollBarPolicy(
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS );
scroller.setViewportBorder(BorderFactory.createLineBorder
(Color.black));
add( "Center", scroller );
}

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ik een JDesktopPane nog nooit in een JScrollPane gebruikt, maar ik vermoed dat door het gedrag van de JDesktopPane de JScrollPane niet signaleert dat er gescrolled moet worden. Als je een te groot JInternalFrame hebt wordt je JDesktopPane namelijk niet groter... Het valt gewoon gedeeltelijk weg buiten de randen van de desktop.

Ik vermoed overigens dat dit helemaal niets met de Skin Look and Feel te maken heeft. Heb je het al getest in de Java Look and Feel?

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


  • Bartoz
  • Registratie: November 2000
  • Niet online
Op donderdag 08 november 2001 12:00 schreef mbravenboer het volgende:
Ik een JDesktopPane nog nooit in een JScrollPane gebruikt, maar ik vermoed dat door het gedrag van de JDesktopPane de JScrollPane niet signaleert dat er gescrolled moet worden. Als je een te groot JInternalFrame hebt wordt je JDesktopPane namelijk niet groter... Het valt gewoon gedeeltelijk weg buiten de randen van de desktop.

Ik vermoed overigens dat dit helemaal niets met de Skin Look and Feel te maken heeft. Heb je het al getest in de Java Look and Feel?
Bedankt voor je tip ! Ik zal het geheel eens uitvoeren zonder de Skin Look and Feel. Ik ga ook maar eens kijken naar signalering vanuit JDesktopPane....

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Je kan ook nog proberen iets met Scrollable te doen, maar dat lost niet al te veel op denk ik.... Hierin zit namelijk geen notificatie mechanisme...

Het punt is dat de JDesktopPane groter moet worden als er een te groot JInternalFrame inzit. Ik heb niet direct een idee hoe je dat handig kan doen.

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


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

heb die troubles ook gehad, kijk hier maar eens...
code:
1
http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-mdi.html?

edit.. grr... linkt wordt niet goed vertaald. Zo moet het goed zijn.

  • Bartoz
  • Registratie: November 2000
  • Niet online
Op vrijdag 09 november 2001 00:21 schreef Alarmnummer het volgende:
heb die troubles ook gehad, kijk hier maar eens...
code:
1
http://www.javaworld.com/javaworld/jw-05-2001/jw-0525-mdi.html?

edit.. grr... linkt wordt niet goed vertaald. Zo moet het goed zijn.
Vreemd, de eerste reactie is niet verstuurd...
Hierbij dan nogmaals bedankt voor de info Alarmnummer :)

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Alarmnummer: heb die troubles ook gehad, kijk hier maar eens...
Goede link! Scheelt je een hoop werk ;) .

Ik heb het ook maar overgenomen (in iets gewijzigde vorm).

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


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
btw: eigenlijk is de implementatie natuurlijk wel erg ranzig. Bij de JTable hebben ze op sommige punten precies hetzelfde gedaan. Het component zou eigenlijk helemaal niets met een JScrollPane moeten doen. De communicatie zou via een goede interface en wat events+listeners moeten werken. Kennis van een JScrollPane is eigenlijk gewoon ranzig....

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

Pagina: 1