[java] Panel in een scrollpane

Pagina: 1
Acties:

  • albiez
  • Registratie: September 2000
  • Laatst online: 16-07 22:24
Hi,

In mijn applet heb ik een scrollpane gezet met een panel daarin. De panel heeft een grotere preferredSize dan de scrollpane is.
In de panel zet ik weer kleinere panels.
Wanneer ik scroll heb ik het probleem dat de kleinere panels buiten de scrollpane ook nog zichtbaar blijven. Hoe kan ik dit oplossen??
Om het een en andere duidelijker te maken heb 2 screenshotjes gemaakt:
Afbeeldingslocatie: http://www.albregtse.net/~albie/screenshot1.jpg
Zo start de applet op hier is alles nog ok.
Afbeeldingslocatie: http://www.albregtse.net/~albie/screenshot2.jpg
Wanneer er gescrollt wordt zijn de artikelen ook nog buiten de scrollpane te zien. Dit is niet goed!

Ik heb het volgende stukje code in de applet staan.
Java:
1
2
3
4
5
6
7
8
rightScrollPane.setOpaque(true);
getContentPane().add(rightScrollPane);
rightScrollPane.setBounds(204,108,426,359);
rightPanel.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
rightScrollPane.getViewport().add(rightPanel);
rightPanel.setBackground(new java.awt.Color(221,221,221));
rightPanel.setBounds(0,0,423,359);
rightPanel.setPreferredSize(new Dimension(423,800));


De kleine artikel panels staan in een aparte klasse, deze klasse heeft de volgende code:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
setLayout(null);
setSize(115,179);
try {       imagePanel1.setImageURL(symantec.itools.net.RelativeURL.getURL(fotoLocatie));   }
catch (java.net.MalformedURLException error) { }
catch(java.beans.PropertyVetoException e) { }
imagePanel1.setLayout(null);
add(imagePanel1);
imagePanel1.setBounds(5,5,100,75);
merkLabel.setText(merk);
add(merkLabel);
merkLabel.setBounds(5,84,100,15);
typelabel.setText(type);
add(typelabel);
typelabel.setBounds(5,96,100,15);
categorielabel.setText(categorie);
add(categorielabel);
categorielabel.setBounds(5,108,100,15);
prijsLabel.setText(prijs);
add(prijsLabel);
prijsLabel.setBounds(5,120,100,15);
meerInfoButton.setLabel("Meer info");
add(meerInfoButton);

  • albiez
  • Registratie: September 2000
  • Laatst online: 16-07 22:24
helemaal niemand? :(

  • reskobon
  • Registratie: November 2001
  • Laatst online: 14-08 22:26
Jahoor ik ben wakker :)

Je hebt wel je grote panel toegevoegd aan het JScrollPane maar die kleine panels die daar weer in staan die heb je niet toegevoegd.
Althans als ik dat goed zie...

Leeg


  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07-2025
waarom doe je getViewPort().add(je Panel) volgens mij moet dat gewoon

ScrollPane.add(je enige JComponent)...

  • albiez
  • Registratie: September 2000
  • Laatst online: 16-07 22:24
reskobon schreef op 25 May 2003 @ 17:13:
Jahoor ik ben wakker :)

Je hebt wel je grote panel toegevoegd aan het JScrollPane maar die kleine panels die daar weer in staan die heb je niet toegevoegd.
Althans als ik dat goed zie...
Ja klopt maar deze kleine panels voeg ik dus weer toe aan de grote panel.
De reden dat ik dit zo doe is omdat je geen layoutmanager kan gebruiken bij een JscrollPane.
Overigens heb ik hetzelfde probleem als ik bijvoorbeeld een label toevoeg in de grote panel.

  • albiez
  • Registratie: September 2000
  • Laatst online: 16-07 22:24
hobbit_be schreef op 25 mei 2003 @ 17:13:
[...]


waarom doe je getViewPort().add(je Panel) volgens mij moet dat gewoon

ScrollPane.add(je enige JComponent)...
Dit wordt automatisch gegeneerd door VisualCafe. Als ik ScrollPane.add() doe zie ik geen scrollbars meer in de ScrollPane.
Pagina: 1