import java.awt.*; import java.awt.event.*; class FarveValgGUI { Scrollbar rød = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); TextField irød = new TextField("0",3); Scrollbar grøn = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); TextField igrøn = new TextField("0",3); Scrollbar blå = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); TextField iblå = new TextField("0",3); Canvas farveCanvas = new FarveCanvas(); int ri, gi, bi; class FarveCanvas extends Canvas { public void paint(Graphics gr) { setBackground(new Color(ri,gi,bi)); } public void update(Graphics gr) { paint(gr); } public Dimension getPreferredSize() { return new Dimension(200,200); } public Dimension getMinimumSize() { return getPreferredSize(); } } class SkyderLytterRød implements AdjustmentListener { public void adjustmentValueChanged(AdjustmentEvent e) { ri = e.getValue(); irød.setText(""+ri); farveCanvas.repaint(); } } class SkyderLytterGrøn implements AdjustmentListener { public void adjustmentValueChanged(AdjustmentEvent e) { gi = e.getValue(); igrøn.setText(""+gi); farveCanvas.repaint(); } } class SkyderLytterBlå implements AdjustmentListener { public void adjustmentValueChanged(AdjustmentEvent e) { bi = e.getValue(); iblå.setText(""+bi); farveCanvas.repaint(); } } Frame f = new ClosableFrame("Farvevalg"); FarveValgGUI() { f.setLayout(new BorderLayout()); Panel skydere = new Panel(); skydere.setLayout(new GridLayout(3,1)); rød.addAdjustmentListener(new SkyderLytterRød()); grøn.addAdjustmentListener(new SkyderLytterGrøn()); blå.addAdjustmentListener(new SkyderLytterBlå()); Panel r = new Panel(); r.setLayout(new BorderLayout()); r.add(rød,"Center"); r.add(irød,"East"); irød.setEditable(false); skydere.add(r); Panel g = new Panel(); g.setLayout(new BorderLayout()); g.add(grøn,"Center"); g.add(igrøn,"East"); igrøn.setEditable(false); skydere.add(g); Panel b = new Panel(); b.setLayout(new BorderLayout()); b.add(blå,"Center"); b.add(iblå,"East"); iblå.setEditable(false); skydere.add(b); f.add(skydere, "North"); f.add(farveCanvas, "Center"); f.pack(); f.show(); } public static void main(String[] args) { new FarveValgGUI(); } }