已有101人关注
请教:有关线程的加入
发表在Java图书答疑 2010-06-21
是否精华
版块置顶:
import java.awt.BorderLayout;
import java.awt.Container;

import javax.swing.JFrame;
import javax.swing.JProgressBar;

public class JoinTest extends JFrame {

/**
 * @param args
 */
Thread threadA;
Thread threadB;
JProgressBar bar1=new JProgressBar();
JProgressBar bar2=new JProgressBar();
public JoinTest() {
// TODO Auto-generated constructor stub
super();
getContentPane().add(bar1,BorderLayout.NORTH);
getContentPane().add(bar2,BorderLayout.SOUTH);
bar1.setStringPainted(true);
bar2.setStringPainted(true);
threadA=new Thread(new Runnable() {


int count=0;

public void run() {
// TODO Auto-generated method stub
while(true){
bar1.setValue(++count);

try {
threadA.sleep(100);
threadB.join();


} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

}
}
});
threadA.start();
threadB=new Thread(new Runnable() {

        int count=0;
public void run() {
// TODO Auto-generated method stub
while(true){
bar2.setValue(++count);
try {
threadB.sleep(100);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}

if(count==100)
break;
}
}
});
threadB.start();
}
public static void init(JFrame frame,int width,int height){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width, height);
frame.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub

init(new JoinTest(),200,200);
}

}
这是书上的例18.4,
如果,我想:先bar1到50%,然后停止,让bar2加入,bar2到50%时,再停止,让bar1开始,直到100%,最后,bar2到100%。程序该如何改,我改了几次都不成功。
麻烦赐教,谢谢。
分享到:
精彩评论 1
小小邪
学分:0 LV1
2010-06-23
沙发
你好,请说明是哪本书哪章的程序,否则我们无从下手。
另外,论坛只用户回复图书中的问题,改程序的话,需要自己完成。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照