944,120 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 7549
  • Java RSS
Jul 9th, 2005
0

scrollbar applet

Expand Post »
Hi folks, I have to answer the following question:

"Write an applet which contains a panel whose background colour varies as the elevators of three Scrollbar objects are varied. Each Scrollbar object affects one colour constituent."

I think I'm pretty close, but I can't figure out why only one of the scrollbars changes colour. They should change red, green, and blue respectively.
I'd be really grateful for any help on this one. Thanks!

/*applet which demonstrates the use of a canvas*/
import java.awt.*;

public class u extends java.applet.Applet
{
Canvas can;
Scrollbar s;
Color bg;
int b;
int g;
int r;

public void init()
{
setLayout(new GridLayout(1, 2, 10, 10));

bg = new Color(0, 0, 255);
can = new Canvas();
s = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(can);
add(s);
bg = new Color(0, 255, 0);
s = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(s);
bg = new Color(255, 0, 0);
s = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(s);
}

public boolean handleEvent(Event evt)
{
if (evt.target instanceof Scrollbar)
{
r = s.getValue();
g = s.getValue();
b = s.getValue();
bg = new Color(r, g, b);
can.setBackground(bg);
can.repaint();
}
return true;
}
}
Similar Threads
Reputation Points: 10
Solved Threads: 0
Newbie Poster
bigriggers is offline Offline
2 posts
since Jul 2005
Jul 9th, 2005
0

Re: scrollbar applet

This is your problem, you only have one instance of a scrollbar. You'll need to have 3 of them, and fix the handleevent so that it will check to see which one was fired.
Reputation Points: 113
Solved Threads: 19
Postaholic
server_crash is offline Offline
2,108 posts
since Jun 2004
Jul 11th, 2005
0

Re: scrollbar applet

hi bigriggers,

as server crash had mentioned u have only one instance.

I have attached a running version. Hope this is what you are looking for:
I have made this into a awt standalone application

import java.awt.*;
import java.awt.event.*;

public class u extends Frame
{
Canvas can;
Scrollbar s1,s2,s3;
Color bg;
int b;
int g;
int r;

public u()
{
setLayout(new GridLayout(1, 2, 10, 10));
bg = new Color(0, 0, 255);
can = new Canvas();
s1 = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(can);
add(s1);

bg = new Color(0, 255, 0);
s2 = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(s2);

bg = new Color(255, 0, 0);
s3 = new Scrollbar(Scrollbar.VERTICAL, 0, 0, 0, 255);
can.setBackground(bg);
add(s3);


setSize(300,300);
setVisible(true);
}

public boolean handleEvent(Event evt)
{
if (evt.target instanceof Scrollbar)
{
r = s1.getValue();
g = s2.getValue();
b = s3.getValue();
bg = new Color(r, g, b);
can.setBackground(bg);
can.repaint();
}
return true;
}

public static void main(String args[])
{
new u();
}
}
Reputation Points: 10
Solved Threads: 0
Light Poster
cheenu78 is offline Offline
45 posts
since Jun 2005
Jul 12th, 2005
0

Re: scrollbar applet

Many thanks for the help guys, all done now. Much appreciated.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
bigriggers is offline Offline
2 posts
since Jul 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: "Cannot Resolve Symbol"
Next Thread in Java Forum Timeline: Reading Mail





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC