Ik wil een scherm bouwen waarin ik een panel plaats waarin door de gebruiker wordt bepaald hoeveel JTextFields onder elkaar moeten worden weergegeven. Deze tekstvelden wil ik in een JScrollPane plaatsen, zodat ik voorkom dat velden niet toegankelijk zijn wanneer ze buiten de panel vallen.
Het volgende stuk code heb ik tot nu toe gebouwd:
Waarbij this een instantie is van JPanel. Let niet op de harde waarden, het gaat om de werking van het scrollen.
Wat ik nu op mijn scherm krijg te zien is een scrollpane waarbij wel een scrollbar te zien is, en waarbij de panel gevuld is met tekstvelden. Het probleem is dat de tekstvelden die onderin de scrollpane wegvallen niet te benaderen zijn, omdat de vertikale scrollbar niet scrollt. De scrollbar is dus wel zichtbaar, maar is niet te gebruiken.
Is er iemand die dit probleem vaker heeft gezien? Ik zou graag willen weten wat de oplossing hiervan is.
Het volgende stuk code heb ik tot nu toe gebouwd:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| this.setLayout(new BorderLayout()); JPanel testPane = new JPanel(); testPane.setLayout(null); JScrollPane scrollPane = new JScrollPane(testPane); for (int i=0; i<40; i++) { JTextField field = new JTextField(Integer.toString(i)); field.setBounds(10, 10+(40*i), 100,25); testPane.add(field); } testPane.setSize(800,2000); testPane.revalidate(); scrollPane.revalidate(); scrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS); this.add(scrollPane, BorderLayout.CENTER); |
Waarbij this een instantie is van JPanel. Let niet op de harde waarden, het gaat om de werking van het scrollen.
Wat ik nu op mijn scherm krijg te zien is een scrollpane waarbij wel een scrollbar te zien is, en waarbij de panel gevuld is met tekstvelden. Het probleem is dat de tekstvelden die onderin de scrollpane wegvallen niet te benaderen zijn, omdat de vertikale scrollbar niet scrollt. De scrollbar is dus wel zichtbaar, maar is niet te gebruiken.
Is er iemand die dit probleem vaker heeft gezien? Ik zou graag willen weten wat de oplossing hiervan is.
[ Voor 6% gewijzigd door JeroenTheStig op 17-02-2006 21:51 ]