Fix the erros to make this Program work: import java.awt.*; import javax.swing.*
ID: 3723896 • Letter: F
Question
Fix the erros to make this Program work:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TrafficLight extends JPanel
{
private int currentState = 0;
private final int NUM_LIGHTS = 3;
private final int X = 50, Y = 10, WIDTH = 50, HEIGHT = 130;
private final int DIAMETER = 30;
private final int X_OFFSET = 10, Y_OFFSET = 10;
private final int PANEL_WIDTH = 150, PANEL_HEIGHT = 230;
public void TrafficLightPanel()
{
setPreferredSize(new Dimension(150, 230));
setLayout(new BorderLayout());
}
public void paintComponent(Graphics page)
{
super.paintComponent(page);
int lightOn = currentState % NUM_LIGHTS;
setBackground(Color.white);
page.setColor(Color.lightGray);
page.fillRect(X, Y, WIDTH, HEIGHT);
switch (lightOn)
{
case 0:
page.setColor(Color.red);
page.fillOval((X+X_OFFSET),(Y+Y_OFFSET), 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
case 1:
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),20, 30, 30);
page.setColor(Color.yellow);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
case 2 :
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),(Y+Y_OFFSET), 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.green);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
}
}
public void change(int clickcount )
{
currentState = clickcount ;
repaint();
}
}
Explanation / Answer
I compiled your code i am getting errors like curly brace missing and main method missing, I did modifications on that and i comiled the code through the command promt..then those errors are gone and the code compiled successfully.
I am giving the error free code below, hope you get your answer.
---------------------------------------------------------------------------------------------
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class TrafficLight extends JPanel
{
private int currentState = 0;
private final int NUM_LIGHTS = 3;
private final int X = 50, Y = 10, WIDTH = 50, HEIGHT = 130;
private final int DIAMETER = 30;
private final int X_OFFSET = 10, Y_OFFSET = 10;
private final int PANEL_WIDTH = 150, PANEL_HEIGHT = 230;
public static void main(String[] args){
TrafficLight fff = new TrafficLight();
fff.TrafficLightPanel();
}
public void TrafficLightPanel()
{
setPreferredSize(new Dimension(150, 230));
setLayout(new BorderLayout());
}
public void paintComponent(Graphics page)
{
super.paintComponent(page);
int lightOn = currentState % NUM_LIGHTS;
setBackground(Color.white);
page.setColor(Color.lightGray);
page.fillRect(X, Y, WIDTH, HEIGHT);
switch (lightOn)
{
case 0:
page.setColor(Color.red);
page.fillOval((X+X_OFFSET),(Y+Y_OFFSET), 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
case 1:
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),20, 30, 30);
page.setColor(Color.yellow);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
case 2 :
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),(Y+Y_OFFSET), 30, 30);
page.setColor(Color.darkGray);
page.fillOval((X+X_OFFSET),60 , 30, 30);
page.setColor(Color.green);
page.fillOval((X+X_OFFSET),100, 30, 30);
break;
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.