[Java] Problemen met de indeling van m'n applet

Pagina: 1
Acties:

  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 02-03 10:21
Voor school moet ik een applet maken met daarachter een banksysteem. Onder de motorkap werkt m'n programma prima, maar de indeling van m'n applet loopt compleet in de soep. Op internet kan ik niet veel vinden, behalve een code die mij op weg heeft geholpen met hetvolgende als uitkomst:
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
        this.resize(500,500);
        
        Container p1 = getContentPane();
        p1.setLayout(new BorderLayout());

        
            JPanel p1northPanel = new JPanel();
            p1northPanel.setLayout(new GridLayout(2, 3));
                p1northPanel.add(rentetoevoegen);
                p1northPanel.add(somsaldo);
                p1northPanel.add(samename);
                p1northPanel.add(renteVeldToevoegen);
            p1.add(p1northPanel, BorderLayout.NORTH);
            
            JPanel p1westPanel = new JPanel();
            p1westPanel.setLayout(new GridLayout(4, 2));
                naamLabel = new JLabel("Naam:");
                p1westPanel.add(naamLabel);
                p1westPanel.add(toevoegenVeldNaam);
                rekLabel = new JLabel("Rekeningnummer:");
                p1westPanel.add(rekLabel);
                p1westPanel.add(toevoegenVeldRekeningnummer);
                saldoLabel = new JLabel("Saldo:");
                p1westPanel.add(saldoLabel);
                p1westPanel.add(toevoegenVeldSaldo);
                p1westPanel.add(toevoegen);
                p1westPanel.add(toevoegenrandom);
            p1.add(p1westPanel, BorderLayout.WEST);
            
            JPanel p1centerPanel = new JPanel();
            p1centerPanel.setLayout(new GridLayout(3, 2));
                p1westPanel.add(rekeningindex);
                p1westPanel.add(rekeningVeldIndex);
                p1westPanel.add(rekeningnummer);
                p1westPanel.add(rekeningVeldNummer);
                p1westPanel.add(rekeningalles);
            p1.add(p1centerPanel, BorderLayout.CENTER);
            
            JPanel p1eastPanel = new JPanel();
            p1eastPanel.setLayout(new GridLayout(3, 2));
                p1eastPanel.add(textareaVeld);
            p1.add(p1eastPanel, BorderLayout.EAST);

Ik krijg het niet voor elkaar om het fatsoenlijk op beeld te krijgen. de northpanel wil geen 3 op een rij doen(neemt de instellingen van de west over, en de center komt ongeveer op de plek van de south. Wie kan mij hier mee verder helpen want ik weet het echt neit meer.

[ Voor 7% gewijzigd door EnsconcE op 14-12-2005 20:07 ]


Verwijderd

Als je borderlayout benut dan kan op elk deel (NORTH, EAST, SOUTH, WEST) mar 1 control komen. Wil je meerdere controls op bv de NORTH dan plak je op de NORTH een nieuw JPanel met bijvoorbeeld een New GridLayout(0,3) om 3 elementen op een rij te bekomen. Of indien de elementen niet allemaal evengroot kan ook een FlowLayout.

edit: aan uw code te zien snap je het wel. Maak anders eens screenshot van hoe het is en hoe je het wilt, da werkt eenvoudiger.

[ Voor 17% gewijzigd door Verwijderd op 14-12-2005 20:14 ]


  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 02-03 10:21
dat doe ik toch met bijvoorbeeld
p1.add(p1eastPanel, BorderLayout.EAST);

Kijk zo bedoel ik het:
Afbeeldingslocatie: http://img450.imageshack.us/img450/621/applet9fi.th.png
Maar de knoppen boven moet een rij van 3 zijn met het tekstvak linksonder. En de knoppen klant toevoegen en alle rekeningen moeten omgedraaid zijn, maar dat is bijzaak.

[ Voor 76% gewijzigd door EnsconcE op 14-12-2005 20:27 ]


Verwijderd

EnsconcE schreef op woensdag 14 december 2005 @ 20:16:
dat doe ik toch met bijvoorbeeld
p1.add(p1eastPanel, BorderLayout.EAST);
jep idd, sorry

Nu ik prentje zie snap ik wa je bedoelt. Switch bij panel bovenaan es de (2,3) naar (3, x)

voor wisselen knoppen onderaan de .add methode in volgorde switchen. Controls worden toegevoegd in volgorde.

[ Voor 16% gewijzigd door Verwijderd op 14-12-2005 20:32 ]


  • Daos
  • Registratie: Oktober 2004
  • Niet online
When both the number of rows and the number of columns have been set to non-zero values, either by a constructor or by the setRows and setColumns methods, the number of columns specified is ignored.
De 3 in het volgende stukje doet dus niets.
Java:
8
p1northPanel.setLayout(new GridLayout(2, 3)); 


Je moet dus alleen de kolommen opgeven. Probeer eens dit:
Java:
8
p1northPanel.setLayout(new GridLayout(0, 3)); 

  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 02-03 10:21
Verwijderd schreef op woensdag 14 december 2005 @ 20:29:
[...]


jep idd, sorry

Nu ik prentje zie snap ik wa je bedoelt. Switch bij panel bovenaan es de (2,3) naar (3, x)

voor wisselen knoppen onderaan de .add methode in volgorde switchen. Controls worden toegevoegd in volgorde.
ik snap niet helemaal wat je bedoelt met de .add methode in volgorde switchen. en (3,x),(3,*) en (3,2) werken alle 3 niet. bij de 3,2 blijft het gewoon hetzelfde, bij de rest krijg ik een waarschuwing.
Daos schreef op woensdag 14 december 2005 @ 20:37:
[...]


De 3 in het volgende stukje doet dus niets.
Java:
8
p1northPanel.setLayout(new GridLayout(2, 3)); 


Je moet dus alleen de kolommen opgeven. Probeer eens dit:
Java:
8
p1northPanel.setLayout(new GridLayout(0, 3)); 
Het volgorde probleem is opgelost, het ziet er nu bijna zo uit als ik wil alleen plaatst hij m'n CENTER panel onder mijn WEST panel.

[ Voor 32% gewijzigd door EnsconcE op 14-12-2005 20:40 ]


  • EnsconcE
  • Registratie: Oktober 2001
  • Laatst online: 02-03 10:21
Java:
1
2
3
4
5
6
7
8
            JPanel p1centerPanel = new JPanel();
            p1centerPanel.setLayout(new GridLayout(3, 2));
                p1westPanel.add(rekeningindex);
                p1westPanel.add(rekeningVeldIndex);
                p1westPanel.add(rekeningnummer);
                p1westPanel.add(rekeningVeldNummer);
                p1westPanel.add(rekeningalles);
            p1.add(p1centerPanel, BorderLayout.CENTER);


En dat is ook logisch 8)7
Thanks voor de hulp, nu kan ik em gaan afmaken.
Pagina: 1