Я пытаюсь сделать светофор на Java, но когда я запускаю свое приложение, я вижу черный экран, и когда выполнение заканчивается, java выдает мне эту ошибку: «Java вернул: 1».
Только когда цикл for заканчивается, светофор загружается, но в любом случае я получаю ошибку, упомянутую выше.
Вот код панели (которая содержит светофор), которую я положил в форму.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JPanel;
public class TrafficlightPanel extends JPanel implements MouseListener{
public void waitTime(long time){
try {
Thread.sleep(time);
}
catch (InterruptedException ex) {
}
}
@Override
public void mouseClicked(MouseEvent e) {
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseReleased(MouseEvent e) {
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseExited(MouseEvent e) {
}
@Override
public void paintComponent(Graphics g) {
g.setColor(Color.BLACK);
g.fillRect(5, 5, 60, 160);
g.setColor(Color.GRAY);
g.fillOval(15, 15, 40, 40);
g.fillOval(15, 65, 40, 40);
g.fillOval(15, 115, 40, 40);
for(int i = 0; i < 3; i++){
g.setColor(Color.GRAY);
g.fillOval(15, 115, 40, 40);
g.setColor(Color.RED);
g.fillOval(15, 15, 40, 40);
waitTime(3000);
g.setColor(Color.GRAY);
g.fillOval(15, 15, 40, 40);
g.setColor(Color.YELLOW);
g.fillOval(15, 65, 40, 40);
waitTime(1500);
g.setColor(Color.GRAY);
g.fillOval(15, 65, 40, 40);
g.setColor(Color.GREEN);
g.fillOval(15, 115, 40, 40);
waitTime(3000);
}
}
}
Можете ли вы помочь мне? Спасибо и извините за мой плохой английский.