Na een paar combinaties van layout managers geprobeert te hebben viel mijn oog op de GridBagLayout. Da's voor de dingen die ik er mee wil de handigste manager, aangezien je redelijk vrij bent in hoe je het inricht. Het leek me ook goed te doen, aangezien je gewoon met een soort raster werkt en daar a-la colspan en rowspan in html, nu ook dit soort eigenschappen mee kunt geven aan andere elementen.
Wat ik probeer te doen is een mooi lijstje te maken waarbij ik elke keer een label en een textfield achter elkaar zet. In dit geval een JLabel "Lengte:" en een JTextField er achter. Dat ging best aardig, maar nu ik overal netjes coordinaten op heb gegeven voor de elementen worden alle JTextFields geminimaliseert naar 1 pixel breedte.
Als ik de labels uit de code sloop, worden de textfields ook weer normale breedte, ik zie alleen totaal niet waarom. Hier onder zie je het resultaat van de code als ik 'm nu uitvoer, met daaronder de code die er voor zou moeten zorgen dat lengte, breedte en diepte in rij 1 komen, en oppervlakte en inhoud in rij 2. Mijn vraag is dan ook hoe dit komt en nog beter, hoe ik er voor kan zorgen dat die dingen wel gewoon netjes ugh pixels breed worden.

Wat ik probeer te doen is een mooi lijstje te maken waarbij ik elke keer een label en een textfield achter elkaar zet. In dit geval een JLabel "Lengte:" en een JTextField er achter. Dat ging best aardig, maar nu ik overal netjes coordinaten op heb gegeven voor de elementen worden alle JTextFields geminimaliseert naar 1 pixel breedte.
Als ik de labels uit de code sloop, worden de textfields ook weer normale breedte, ik zie alleen totaal niet waarom. Hier onder zie je het resultaat van de code als ik 'm nu uitvoer, met daaronder de code die er voor zou moeten zorgen dat lengte, breedte en diepte in rij 1 komen, en oppervlakte en inhoud in rij 2. Mijn vraag is dan ook hoe dit komt en nog beter, hoe ik er voor kan zorgen dat die dingen wel gewoon netjes ugh pixels breed worden.

Java:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| setLayout( new GridBagLayout() ); GridBagConstraints c = new GridBagConstraints(); label_lengte = new JLabel( "Lengte:" ); c.gridx = 0; c.gridy = 0; add( label_lengte, c ); label_breedte = new JLabel( "Breedte:" ); c.gridx = 0; c.gridy = 1; add( label_breedte, c ); label_diepte = new JLabel( "Diepte:" ); c.gridx = 0; c.gridy = 2; add( label_diepte, c ); label_oppervlakte = new JLabel( "Oppervlakte:" ); c.gridx = 2; c.gridy = 0; add( label_oppervlakte, c ); label_inhoud = new JLabel( "Inhoud:" ); c.gridx = 2; c.gridy = 1; add( label_inhoud, c ); text_lengte = new JTextField( 8 ); c.gridx = 1; c.gridy = 0; add( text_lengte, c ); text_breedte = new JTextField( 8 ); c.gridx = 1; c.gridy = 1; add( text_breedte, c ); text_diepte = new JTextField( 8 ); c.gridx = 1; c.gridy = 2; add( text_diepte, c); text_oppervlakte = new JTextField( 8 ); c.gridx = 3; c.gridy = 0; add( text_oppervlakte, c ); text_inhoud = new JTextField( 8 ); c.gridx = 3; c.gridy = 1; add( text_inhoud, c ); |
Een vergissing is menselijk, maar om er echt een puinhoop van te maken heb je een computer nodig.

