Toon posts:

[JAVA] Op de vroege morgen....

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo allemaal... Ik heb op deze vroege morgen een probleem en ik hoop dat jullie mij kunnen helpen. Het gaat om het volgende. Ik heb een button gemaakt(zie plaatje) maar mijn probleem is dat ik hem niet krijg waar ik hem wil hebbe. Ik heb al van alles geprobeerd(setbounds enzo). Maar daar wil niet werken. Ik moet die knop op een andere plaats hebbe. Hieronder zie je ook de code. Kunnen jullie mij uit de brand helpen?

Bedankt alvast......

p.s... ik ben niet echt een goed in java :-)

Afbeeldingslocatie: http://members1.chello.nl/m.wassink/button.gif
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
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;



public class ColorPanelXYZ extends ColorPanel {

    JSlider sliderX, sliderY, sliderZ;
    JTextField  field;
    /** Creates new form ColorPanel */

    ColorPanelXYZ(){

        super("XYZ");
        
        //begin button code
        ImageIcon help = new ImageIcon("help.gif");
        JButton button = new JButton(help);
        button.setPreferredSize(new Dimension(12,15));

        add( button );
            //einde button code 


        

        GridBagLayout gridbag = new GridBagLayout();
        GridBagConstraints c = new GridBagConstraints();

    
        setLayout(gridbag);

        c.fill = GridBagConstraints.BOTH;

         c.gridwidth        = 1;            //reset to the default
        c.gridheight    = 4;
        c.weightx       = 0.25;
        c.weighty       = 1.0;

      sliderX = new JSlider( JSlider.VERTICAL, 0, 30, 15 );
      gridbag.setConstraints(sliderX, c);
      add(sliderX, SwingConstants.CENTER );

        sliderY = new JSlider( JSlider.VERTICAL, 0, 30, 15 );
        gridbag.setConstraints(sliderY, c);
        add(sliderY);

        sliderZ = new JSlider( JSlider.VERTICAL, 0, 30, 15 );
        gridbag.setConstraints(sliderZ, c);
        add(sliderZ);

        c.weightx = 1.0;
        c.weighty = 0.0;           //reset to the default
        c.gridwidth = GridBagConstraints.REMAINDER; //end row
        c.gridheight = 1;          //reset to the default

        field = new JTextField("0.0");
        gridbag.setConstraints(field, c);
        add(field);

        field = new JTextField("5");
        gridbag.setConstraints(field, c);
        add(field);

        field = new JTextField("6");
        gridbag.setConstraints(field, c);
      add(field);

    }
}

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Owh yakkie, gridbags.... daar krijg ik hoofdpijn van ;) .

Ik zou hem zelf in het zuiden van een borderlayout zetten. Daarin kan je hem weer in het westen van een borderlayout of in een flowlayout zetten. Hij staat dan keurig links onderin de hoek :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Misschien een voorbeeldje???

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Zoiets:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
JPanel contentPanel = ...
JButton helpButton = ...

// panel voor in het zuiden, met in het oosten de button
JPanel southPanel = new JPanel(new BorderLayout());
southPanel.add(BorderLayout.EAST, helpButton)

// panel voor alles
JPanel all = new JPanel(new BorderLayout());

// met in het centrum je content
all.add(BorderLayout.CENTER, contentPanel);
// en in het zuiden het soutPanel
all.add(BorderLayout.SOUTH, southPanel);

:) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

volgens mij werk setBounds() alleen goed als je
setLayout(null);
hebt nu pakt hij de gridlayout

  • drice
  • Registratie: December 2000
  • Laatst online: 14-09 09:51

drice

Loading...

Op vrijdag 18 januari 2002 11:28 schreef bzzy het volgende:
volgens mij werk setBounds() alleen goed als je
setLayout(null);
hebt nu pakt hij de gridlayout
Klopt setBounds werkt alleen zonder layoutmanager.
Dus inderdaad layoutmanager uitzetten of er handig gebruik van maken

Did you know that IF is a middle word in life. "Ja maar wie ben ik om aan mezelf te twijfelen"


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Waarom die setBounds trouwens niet werkt als je een LayoutManager gebruikt: de LayoutManagers gebruiken zelf setBounds ;) . Als een container gelayout wordt, wordt er gewoon bekeken welke bounds er voor een component moeten worden ingesteld. Als je die dus zelf instelt worden ze gewoon later aangepast door de LayoutManager :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Topicstarter
Bedankt allemaal...Ik zal eens even kijken of het gaat lukken.
Pagina: 1