《Java程序设计》课内实验指导书 下载本文

...

上面的时钟进行倒计时,每隔一秒就减少一秒。

下面的方块可以在方框里随机漂浮移动,但是不允许移出方框。 当按下 “暂停 ”按钮,倒计时暂停计时,方块也停止移动。按钮表面上 的文字变成“继续计时 ”。 当按下 “继续计时 ”按钮,倒计时继续计时,方块也继续移动。 当倒计时显示时“!”,方块也停止移动 到间

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;

}

...