暑期学习JAVA,测试线程的休眠方法,找不到问题所在了,拜托各位大牛指点一下。

图片说明
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.util.Random;
import javax.swing.JFrame;
public class SwingAndSleep extends Frame{
/**
*
*/
private static final long serialVersionUID = 1L;
private Thread t ;
private static Color[] color = {Color.BLACK,Color.BLUE,Color.CYAN,Color.GREEN,Color.ORANGE,Color.YELLOW,Color.RED,Color.PINK,Color.LIGHT_GRAY};
private static Random rand = new Random();
private static Color getC() {
return color[rand.nextInt(color.length)];
}

       public void SwingAndThread() {
           t = new Thread(new Runnable() {
            int x = 30;
            int y = 50;

            @Override
            public void run() {
                while(true) {
                    try{
                        Thread.sleep(100);
                    }catch (InterruptedException e) {
                        e.printStackTrace();// TODO: handle exception
                    }

                    Graphics graphics = getGraphics();
                    graphics.setColor(getC());
                    graphics.drawLine(x, y, 100, y++);
                    if(y>=80) {
                        y = 50;
                    }
                }

            }
        });
           t.start();
       }               
public static void main(String[] args) throws Exception {
           init(new JFrame(),100,100);
}
public static void init(JFrame frame ,int width, int height) {
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(width, height);
    frame.setVisible(true);
}

}

3个回答

出啥问题了?能描述一下吗?

weixin_44562964
P3udent 结果图 我已经在上面放出来了 大佬帮我看看
3 个月之前 回复
weixin_44562964
P3udent 能够运行出来 但是不显示线条 空壳方框
3 个月之前 回复

你想问什么。是程序不完整吗?我并没看到哪里启动了SwingAndThread这个线程。你代码里只设置了一个初始框。

weixin_44562964
P3udent 回复yyjjttww: 嗯嗯 谢谢我再去试一下
3 个月之前 回复
yyjjttww
yyjjttww 回复P3udent:我的意思是,你没启用SwingAndThread这个线程。main方法只定义了一个init。
3 个月之前 回复
yyjjttww
yyjjttww 回复P3udent: public static void main(String[] args) throws Exception { init(new JFrame(),100,100); } public static void init(JFrame frame ,int width, int height) { frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(width, height); frame.setVisible(true); }
3 个月之前 回复
weixin_44562964
P3udent 不对吧。。我有在初始框里设置随机产生的颜色线段吧。。
3 个月之前 回复

从main方法开始,一行一行看,你就没进SwingAndThread()方法。

weixin_44562964
P3udent 嗯嗯谢谢
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!