Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

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;

}

}
}