RGB kleurenkiezer

Status
Niet open voor verdere reacties.

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:
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
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan