Compito di informatica per lunedì 12/12/16

Classe JSemaforo realizzata in classe:

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;

import javax.swing.JComponent;

public class JSemaforo extends JComponent {

	public final int ROSSO = 0, VERDE = 1, GIALLO = 2;

	private boolean acceso = false;
	private int stato = ROSSO;

	public JSemaforo() {
		this.setPreferredSize(new Dimension(50, 150));

	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);

		g.setColor(Color.GRAY);
		g.fillRoundRect(0, 0, 50, 150, 10, 10);

		if (acceso) {
			switch (stato) {
			case ROSSO:
				g.setColor(Color.RED);
				g.fillOval(5, 5, 40, 40);
				break;
			case VERDE:
				g.setColor(Color.GREEN);
				g.fillOval(5, 105, 40, 40);
				break;
			case GIALLO:
				g.setColor(Color.YELLOW);
				g.fillOval(5, 55, 40, 40);
				break;
			}
		} else {
			g.setColor(Color.YELLOW);
			g.fillOval(5, 55, 40, 40);
		}
	}

	public void successivo() {
		stato++;
		if (stato > GIALLO)
			stato = ROSSO;
		repaint();
	}

	public int getStato() {
		return stato;
	}

	public void setStato(int stato) {
		this.stato = stato;
	}

	public boolean isAcceso() {
		return acceso;
	}

	public void setAcceso(boolean acceso) {
		this.acceso = acceso;
	}

}