/* This example demonstrates the use of the Scrollbar class, the Canvas class, and nested Panels. */ import java.applet.*; import java.awt.*; public class ColorScroll extends Applet { Panel p; Canvas c; Label redLabel = new Label("Red 0"); Label greenLabel = new Label("Green 0"); Label blueLabel = new Label("Blue 0"); Scrollbar red = new Scrollbar( Scrollbar.HORIZONTAL, 0, 0, 0, 255); Scrollbar green = new Scrollbar( Scrollbar.HORIZONTAL, 0, 0, 0, 255); Scrollbar blue = new Scrollbar( Scrollbar.HORIZONTAL, 0, 0, 0, 255); public void init() { setLayout(new BorderLayout()); // Applet uses BorderLayout setBackground(Color.white); p = new Panel(); p.setLayout(new GridLayout(3, 2)); p.add(redLabel); p.add(red); p.add(greenLabel); p.add(green); p.add(blueLabel); p.add(blue); add("South", p); c = new Canvas(); c.setBackground(new Color(0, 0, 0)); add("Center", c); } public boolean handleEvent(Event evt) { if (evt.target instanceof Scrollbar) { if (evt.id == Event.SCROLL_ABSOLUTE || evt.id == Event.SCROLL_LINE_DOWN || evt.id == Event.SCROLL_LINE_UP || evt.id == Event.SCROLL_PAGE_DOWN || evt.id == Event.SCROLL_PAGE_UP ) { redLabel.setText("Red " + red.getValue()); greenLabel.setText("Green " + green.getValue()); blueLabel.setText("Blue " + blue.getValue()); Color newColor = new Color(red.getValue(), green.getValue(), blue.getValue()); c.setBackground(newColor); c.repaint(); return true; } } return super.handleEvent(evt); } }