[4909] in java-interest

home help back first fref pref prev next nref lref last post

Scroll bars under X11 and Windows have different range

daemon@ATHENA.MIT.EDU (Cay Horstmann)
Thu Jan 18 23:08:29 1996

From: Cay Horstmann <horstman@jupiter.SJSU.EDU>
To: "'java-interest@java.sun.com'" <java-interest@java.sun.com>
Date: Thu, 18 Jan 1996 18:16:31 -0800

Consider the following little applet. Run it under X Windows. Note how the 
range of the scroll bars is 0 ... 255. Run it under Windows 95. The range 
of the scroll bars is 0 ... 230.

Presumably this is a bug?

Cay
horstman@cs.sjsu.edu

import java.awt.*;

public class ScrollbarTest1 extends Frame
{  public ScrollbarTest1()
   {  super("ScrollbarTest1");
      Panel p = new Panel();
      p.setLayout(new GridLayout(3, 2));
      p.add(redLabel = new Label("Red 0"));
      p.add(red = new Scrollbar(Scrollbar.HORIZONTAL, 0, 25, 0, 255));
      p.add(greenLabel = new Label("Green 0"));
      p.add(green = new Scrollbar(Scrollbar.HORIZONTAL, 0, 25, 0, 255));
      p.add(blueLabel = new Label("Blue 0"));
      p.add(blue = new Scrollbar(Scrollbar.HORIZONTAL, 0, 25, 0, 255));
      add("South", p);
      c = new Canvas();
      c.setBackground(new Color(0, 0, 0));
      add("Center", c);
   }

   public boolean handleEvent(Event evt)
   {  if (evt.id == Event.WINDOW_DESTROY) System.exit(0);
      else 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());
         c.setBackground(new Color(red.getValue(), green.getValue(), 
blue.getValue()));

         c.repaint();
         return true;
      }
      return super.handleEvent(evt);
   }

   Label redLabel;
   Label greenLabel;
   Label blueLabel;

   Scrollbar red;
   Scrollbar green;
   Scrollbar blue;

   Canvas c;

   public static void main(String[] args)
   {  Frame f = new ScrollbarTest1();
      f.resize(300, 200);
      f.show();
   }
}

-
This message was sent to the java-interest mailing list
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post