...
上面的时钟进行倒计时,每隔一秒就减少一秒。
下面的方块可以在方框里随机漂浮移动,但是不允许移出方框。 当按下 “暂停 ”按钮,倒计时暂停计时,方块也停止移动。按钮表面上 的文字变成“继续计时 ”。 当按下 “继续计时 ”按钮,倒计时继续计时,方块也继续移动。 当倒计时显示时“!”,方块也停止移动 到间
12. 运行效果
进度条组件:
进度条组件重要属性和方法 pgb.setMinimum(0); //设置进度条最 值小pgb.setMaximum(100); //设置进度条最 值大int min=pgb.getMinimum(); //获取进度条最int 值小max=pgb.getMaximum(); //获取进度条最 值大int value = pgb.getValue(); //获取进度条当前值 进度条功能代码片段:
while(true){
int value = pgb.getValue(); value++;
pgb.setValue(value);
if (value < pgb.getMaximum()) {
this.sleep(50); //线程休眠50ms } else {
this.interrupt();
JOptionPane.showMessageDialog(null, \加载完毕\系统提示\,
JOptionPane.INFORMATION_MESSAGE);
? ? } }
//打开方块移动代码
...
...
正方形移动的代码片段 pnl.setLocation(x,y); try {
Thread.sleep(50);
} catch (InterruptedException ex) {
ex.printStackTrace(); }
if(flag1){
x++;
if (x >= 350) {
x = 350; flag1=false; } }else{
x--;
if (x<=0) {
x = 0;
flag1=true; } }
if(flag2){
y=y+2;
if (y >= 350) { y = 350; flag2=false; } }else{
y=y-2; if (y<=0) { y = 0;
flag2=true; } }
if(lbl.getText().equals(\时间到!\
running=false; }
暂停继续的代码片段 : boolean running=true;
public void btn_actionPerformed(ActionEvent e) {
if(running){
btn.setText(\继续计时\
lbl.setBackground(Color.YELLOW);; mt.suspend();
...
...
t.suspend(); }else{
btn.setText(\暂停\
lbl.setBackground(Color.GREEN); mt.resume(); t.resume(); }
running=!running;
}
...