JFrame表单-Java返回:1 |失败

时间:2019-01-06 17:05:09

标签: java jframe jpanel

我正在尝试用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);

        }
    }
}

能帮我吗?谢谢你,我的英语不好。

1 个答案:

答案 0 :(得分:0)

Java returned: 1

仅在两种情况下,要么您的未显示代码有错误,要么您使用状态为System.exit(int status)的{​​{1}}。

  

仅在for循环结束时加载交通信号灯

那是因为您的整个代码都在for循环中。

我想您在1方法中遇到了问题 并且您应该使用swing worker而不是休眠swings线程,因为它们被认为是不安全的线程