Java——给五子棋添加时间进度条(多线程)

在实现这个功能中我用到了swing中的一个ProgressBar类,这是界面的进度条组件,此外因为我是在五子棋运行的同时有计时的功能,所以此外还需要使用到多线程。
我想要达到的效果是给黑白两方固定总时间十分钟,也就是说到黑方落子时计时,落完子后时间暂停,到白方的时间落子同样开始计时。
设置进度条最小最大和初始值,以及设置进度条的背景和填充颜色
我的设计思路是创建两个线程对象,黑方和白方时间各独立一个线程,当一方落子时,这方的线程暂停,另一方的线程继续开始。
这里面的困扰我许久的地方是在线程暂停与继续的实现,以及是倘若我的五子棋结束一局重新开始的话线程要重新开始从十分钟计时。这是关键的run代码
在这里插入图片描述
可以看到,这里关键是使用两个boolean变量,并创建了两个方法,每次我暂停只需要调用暂停方法,run方法里i就无法改变了,调用reset方法就能使当前for循环结束,进入下一次完整的for循环,起到重新开始的作用。
到这里,这部分的功能就基本实现了。关于这部分问题解决办法欢迎共同讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值