bertkamphuis
Gebruiker
- Lid geworden
- 17 apr 2009
- Berichten
- 14
Hallo,
Voor school moet ik een rgb kleurenkiezer maken in java, alles werkt alleen krijg ik de layout niet goed.
Dit is de code:
Ik moet waarschijnlijk gebruik maken van gridbaglayout, alleen kom ik hier niet uit.
Wie kan mij helpen?
groeten
Voor school moet ik een rgb kleurenkiezer maken in java, alles werkt alleen krijg ik de layout niet goed.
Dit is de code:
package rgb;
import java.awt.*;
import javax.swing.*;
import javax.swing.event.*;
public class kleurenkiezer extends JApplet implements ChangeListener {
Container Panel;
JSlider rood;
JSlider groen;
JSlider blauw;
Drawing Pad;
JTextField tekstvak;
public kleurenkiezer () {
rood = new JSlider (0,255,0);
groen = new JSlider (0,255,0);
blauw = new JSlider (0,255,0);
rood.setMajorTickSpacing(50);
rood.setMinorTickSpacing(10);
rood.setPaintTicks(true);
rood.setPaintLabels(true);
groen.setMajorTickSpacing(50);
groen.setMinorTickSpacing(10);
groen.setPaintTicks(true);
groen.setPaintLabels(true);
blauw.setMajorTickSpacing(50);
blauw.setMinorTickSpacing(10);
blauw.setPaintTicks(true);
blauw.setPaintLabels(true);
tekstvak = new JTextField (11);
Pad = new Drawing ();
rood.addChangeListener (this);
groen.addChangeListener (this);
blauw.addChangeListener (this);
Panel = getContentPane ();
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints c = new GridBagConstraints();
Panel.setLayout(gridbag);
c.gridx = 2;
c.gridy = 2;
Panel.add (Pad, c);
c.fill = GridBagConstraints.RELATIVE;
c.gridx = 3;
c.gridy = 3;
c.weightx = 30;
c.ipadx = 120;
Panel.add (tekstvak, c);
c.fill = GridBagConstraints.RELATIVE;
c.gridwidth = 3;
c.gridx = 1;
c.gridy = 1;
Panel.add (rood, c);
c.gridx = 1;
c.gridy = 1;
Panel.add (new Label("rood"),c);
c.gridx = 1;
c.gridy = 1;
Panel.add (groen, c);
c.gridx = 1;
c.gridy = 1;
Panel.add (new Label("groen"),c);
c.ipadx = 100;
c.gridx = 1;
c.gridy = 2;
Panel.add (blauw, c);
c.gridx = 3;
c.gridy = 2;
Panel.add (new Label("blauw"), c);
Pad.setSize (150, 150);
tekstvak.setText ("R=" + rood.getValue() +" G=" + groen.getValue() +"B=" + blauw.getValue());
}
public void stateChanged (ChangeEvent e) {
tekstvak.setText ("R=" + rood.getValue () + " G=" + groen.getValue () + " B=" + blauw.getValue());
Pad.setOval (rood.getValue (), groen.getValue (), blauw.getValue());
Pad.repaint ();
}
}
class Drawing extends Canvas {
int Coderood;
int Codegroen;
int Codeblauw;
public void setOval (int r, int g, int b) {
Coderood = r;
Codegroen = g;
Codeblauw = b;
}
public void paint (Graphics g) {
g.setColor (new Color (Coderood,Codegroen,Codeblauw));
g.fillOval (20, 10, 100, 100);
}
}
Ik moet waarschijnlijk gebruik maken van gridbaglayout, alleen kom ik hier niet uit.
Wie kan mij helpen?
groeten