inleiding
Wij (ik en klasgenoot) proberen hier in java een applet te maken waarmee we in een nieuw scherm komen na het drukken van een knop.
Na een tijdje kwamen we tot het besluit om gebruik te maken van panels.
probleemomschrijving
Wanneer we in een panel een knop toevoegen krijgen we deze te zien in het panel.
We willen echter ook bepalen waar de knop op het scherm komt te staan, dus we beginnen met setLayouy( null ); en vervolgens met setBounds(int, int, int, int);
Vervolgens zagen we helemaal geen knop meer.
Het lijkt wel of panels niet met bounds wil werken.
Na tig dingen proberen en wat zoeken vond ik iets wat LayoutManager heet.
Dit werkte met GridBagLayout en een GridBagConstraint.
Affijn, ik heb wat code overgenomen van voorbeelden en op de site van sun gezocht wat je allemaal in die Constraints weg moet zetten (en ik hoop dat ik dat goed heb begrepen) , maar nu krijg ik "Applet not initialized".
Zie de code hieronder:
Ik heb al aardig wat gegoogled en ook de search gebruikt.
Is het soms niet mogelijk om in een panel setLayout(null); te gebruiken en vervolgens voor al je knoppen de bounds te specificeren?
Zo nee, wat doe ik dan fout met die LayoutManager (let wel dat ik 2 uur geleden het woord voor het eerst las).
Zoals je wellicht al doorhebt. We zijn beginnelingen op het gebied van Java
.
Wij (ik en klasgenoot) proberen hier in java een applet te maken waarmee we in een nieuw scherm komen na het drukken van een knop.
Na een tijdje kwamen we tot het besluit om gebruik te maken van panels.
probleemomschrijving
Wanneer we in een panel een knop toevoegen krijgen we deze te zien in het panel.
We willen echter ook bepalen waar de knop op het scherm komt te staan, dus we beginnen met setLayouy( null ); en vervolgens met setBounds(int, int, int, int);
Vervolgens zagen we helemaal geen knop meer.
Het lijkt wel of panels niet met bounds wil werken.
Na tig dingen proberen en wat zoeken vond ik iets wat LayoutManager heet.
Dit werkte met GridBagLayout en een GridBagConstraint.
Affijn, ik heb wat code overgenomen van voorbeelden en op de site van sun gezocht wat je allemaal in die Constraints weg moet zetten (en ik hoop dat ik dat goed heb begrepen) , maar nu krijg ik "Applet not initialized".
Zie de code hieronder:
code:
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
| class View extends Panel {
private CardLayout cardlayout; // referentie naar CardLayout
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
public View() {
cardlayout = new CardLayout();
setLayout( cardlayout );
// Maak de tweede kaart
Panel kaart2 = new Panel();
setLayout( gridbag );
cc.gridx = 20; //coördinaat linkerkant
c.gridy = 20; //coördinaat bovenkant
c.gridwidth = 7; //is aantal kollomen
c.gridheight = 7; //is aantal rijen
c.fill = GridBagConstraints.BOTH; //zorgt ervoor dat het component zowel
// horizontaal als verticaal wordt aangepast
//default anchor is Center
c.weightx = 0.25;//ruimte tussen colommen
c.weighty = 0.25; kaart2.setFont( new Font( "Serif", Font.BOLD, 16 ) );
Button knopje = new Button( "knop1");
gridbag.setConstraints( knopje, c );
kaart2.add( knopje ); |
Ik heb al aardig wat gegoogled en ook de search gebruikt.
Is het soms niet mogelijk om in een panel setLayout(null); te gebruiken en vervolgens voor al je knoppen de bounds te specificeren?
Zo nee, wat doe ik dan fout met die LayoutManager (let wel dat ik 2 uur geleden het woord voor het eerst las).
Zoals je wellicht al doorhebt. We zijn beginnelingen op het gebied van Java
[ Voor 2% gewijzigd door Verwijderd op 12-03-2003 15:49 . Reden: Layout van dit forum maar iets minder verneuken ]