import java.awt.*; import java.awt.event.*; class FarveValgGUI { Scrollbar rød = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); Scrollbar grøn = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); Scrollbar blå = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255); Canvas farveCanvas = new FarveCanvas(); int ri, gi, bi; class FarveCanvas extends Canvas { public void paint(Graphics gr) { gr.setColor(new Color(ri,gi,bi)); gr.fillRect(0,0,200,200); } 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(); farveCanvas.repaint(); } } class SkyderLytterGrøn implements AdjustmentListener { public void adjustmentValueChanged(AdjustmentEvent e) { gi = e.getValue(); farveCanvas.repaint(); } } class SkyderLytterBlå implements AdjustmentListener { public void adjustmentValueChanged(AdjustmentEvent e) { bi = e.getValue(); farveCanvas.repaint(); } } Frame f = new ClosableFrame("Farvevalg"); FarveValgGUI() { f.setLayout(new BorderLayout()); Panel skydere = new Panel(); skydere.setLayout(new GridLayout(3,1)); Panel canvas = new Panel(); rød.addAdjustmentListener(new SkyderLytterRød()); grøn.addAdjustmentListener(new SkyderLytterGrøn()); blå.addAdjustmentListener(new SkyderLytterBlå()); skydere.add(rød); skydere.add(grøn); skydere.add(blå); f.add(skydere, "North"); canvas.add(farveCanvas); f.add(canvas, "South"); f.pack(); f.show(); } public static void main(String[] args) { new FarveValgGUI(); } }