问题详情

答题翼 > 问答 > 计算机类考试 > 正文
目录: 标题| 题干| 答案| 搜索| 相关

下面程序是一个计时器 从1000秒开始倒计时 直到为0结束。在界面上有两个按钮 一个可以暂停计时 另


下面程序是一个计时器,从1000秒开始倒计时,直到为0结束。在界面上有两个按钮,一个可以暂停计时,另一个可以继续已经暂停的计时。请更正题中带下划线的部分。

注意:不改动程序的结构,不得增行或删行

import java.awt.*;

import java.awt.event.*;

import java.applet.Applet;

public class Example3_4 extends Applet

{

public Color color = Color.red;

private int num= 1000;

public Counter theCounter;

private Button stop;

private Button start;

public void init()

{

stop = new Button("暂停");

start = new Button ("继续");

theCounter = new Counter(this);

stop.addActionListener(new Lst() implements ActionListener{

public void actionPerformed(ActionEvent e)

{

theCounter.sus();

}

});

start.addActionListener(new SuspenListener());

add(start);

add(stop);

theCounter.start();

}

public void paint(Graphics g)

{

g.setCotor(color);

g.drawString(String.valueOf(num),50,50);

}

public void setInt(int i)

{

num=i;

}

class SuspenListener implements ActionListener

{

public void actionPerformed(ActionEvent e)

{

theCounter.conti ();

}

}

}

public class Counter extends Thread

{

Example3_4 example;

boolean isHold;

Counter (Example3_4 ex)

{

this.example = ex;

isHold = false;

}

public void sus()

{

isHold = true;

}

public synchronized void conti()

{

isHold = false;

notify();

}

public void run()

{

for (int i = 1000; i>0; i--)

{

if (i%2 == 1)

example.color = Color.red;

else

example.color = Color.blue;

example.setInt(i);

example.repaint();

try

{

sleep(1000);

synchronized {

while(isHold)

wait ();

}

}

catch (InterruptedException ie)

{}

}

}

}

<HTML>

<HEAD>

<TITLE>Example3_4</TITLE>

</HEAD>

<BO

请帮忙给出正确答案和分析,谢谢!

参考答案
您可能感兴趣的试题