Frustrated by AWT..need some help
Here's a piece of code that I borrowed from another site and made to
show my traffic light.
I added the 6 methods to turn on and off each light, but I have no idea
what to put in each of them. Is there a way to do this without having
to change my program
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import javax.swing.*;
public class ShapesDemo2D extends JApplet {
final static Color bg = Color.white;
final static Color fg = Color.black;
final static Color red = Color.red;
final static Color white = Color.white;
final static Color green = Color.green;
final static Color amber = Color.yellow;
public void init() {
//Initialize drawing colors
setBackground(bg);
}
public void paint(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
g2.setPaint(fg);
// draw Rectangle2D.Double
g2.draw(new Rectangle2D.Double(1, 1, 170,50));
// draw Ellipse2D.Double
g2.setPaint(red);
g2.draw(new Ellipse2D.Double(1, 1, 50,50));
g2.setPaint(amber);
g2.draw(new Ellipse2D.Double(60, 1, 50,50));
g2.setPaint(red);
g2.draw(new Ellipse2D.Double(120, 1, 50,50));
// fill Ellipse2D.Double
g2.setPaint(red);
g2.fill (new Ellipse2D.Double(1, 1, 50,50));
g2.setPaint(amber);
g2.fill (new Ellipse2D.Double(60, 1, 50,50));
g2.setPaint(green);
g2.fill (new Ellipse2D.Double(120, 1, 50,50));
}
public void turnRedLightOn()
{
}
public void turnAmberLightOn()
{
}
public void turnGreenLightOn()
{
}
public void turnRedLightOff()
{
}
public void turnAmberLightOff()
{
}
public void turnGreenLightOff()
{
}
public static void main(String s[]) {
JFrame f = new JFrame("Traffic Light Simulator");
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});
JApplet applet = new ShapesDemo2D();
f.getContentPane().add("Center", applet);
applet.init();
f.pack();
f.setSize(new Dimension(200,100));
}
}
My thinking is that should be able to call turnGreenLightOff and
have the green ellispe be repainted "white" to indicate that it's off.
But I'm stuck. Is there a way to call the turnGreenLightOff method from
void in this way or do I have to do something else? And if so, what do I
need to put in the method, I've googled for the solution and have also
looked in several of my books, but I haven't found anything that will
work.....