首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器继续工
下面Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器继续工
admin
2009-01-15
158
问题
下面Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器继续工作。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
程序运行结果如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
/*
<applet code="ex7_3.class" width=800 height=400 >
</applet>
*/
public class ex7_3 extends JApplet {
private JTextField jtf = new JTextField(15);
private JButton Hold = new JButton("Hold"),resume = new JButton("Resume");
private ex7_3th obj7_3th = new ex7_3th();
class ex7_3th extends Thread {
private int cnt = 0;
private boolean bIsHold = false;
public ex7_3th() { start(); }
public void hold() {
bIsHold = true;
}
public synchronized void fauxResume() {
bIsHold = false;
wait();
}
public void run() {
while (true) {
try {
sleep(150);
synchronized(this) {
while (bIsHold)
not i fy ( );
}
} catch(InterruptedException ie) {
System.err.println("Interrupted");
}
jtf.setText(cnt);
}
}
public void init() {
Container cp = getContentPane();
cp.setLayout(new FlowLayout());
cp.add(jtf);
Hold.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent ae) {
obj7_3th.hold();
}
});
cp.add(Hold);
resume.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e){
obj7_3th.fauxResume();
}
});
cp.add(resume);
public static void main(String[] args) {
ex7_3 obj7_3=new ex7_3();
String str= obi7_3.getClass().toString();
if(str.indexOf("class") != -1)
str= str.substring(6);
JFrame frm = new JFrame(str);
frm.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(O);
}
});
frm.getContentPane().add(obj7_3);
frm.setSize(300, 200);
obj7_3.init();
obi7_3.start();
frm.setVisible(true);
}
}
ex7_3.html
<HTML>
<HEAD>
<TITLE>ex7_3</TITLE>
</HEAD>
<BODY>
<applet code="ex7_3.class"width=800 height=400>
</applet>
</BODY>
</HTML>
选项
答案
notify() wait() jtf.setText(Integer.toString(cnt++))
解析
本题主要考查图形用户界面,swing以及线程同步、共享、死锁相结合的综合应用。解题关键是熟悉wait()方法和notify()方法的含义,wait()必须被声明为synchronized,这样它才能拥有对象锁。fauxResume()把bIsHold标志设为false,并调用notify(),为了唤醒synchronized子句中的wait(),所以notify()也必须被声明为synchronized,这样才能在调用notify()之前获得对象锁 (然后该对象锁才能在wait()执行时被运用)。本题中,第一和第二处,应该在bIsHold为true时调用wait(),而在fauxResume()中调用notify();第三处,需要对int类型作转换才能够作为String类型输出,并且要对计数器变量cnt做累加。
转载请注明原文地址:https://kaotiyun.com/show/JIID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
每一项工业遗产都______着城市社会发展的演变规律。实施对工业遗产的发掘保护、开发利用,对维护城市风貌,______生机特色,克服千城一面现象,具有重要意义。填入画横线部分最恰当的一项是:
1996年至2000年中国国际旅游(外汇)收入年平均多少亿美元?1996年至2000年到中国旅游的外国人人次数是____。
组织激励很重要,要做好组织激励有不同的方法,以下是影响组织激励的几个主要因素:(1)工作环境;(2)薪酬福利;(3)领导认可;(4)成就感;(5)组织文化;(6)职业发展。请从中选择两个因素并说明理由。请考生再补充一个针对飞机上使用手机这一情况的相应观
《物权法》第116条规定:“天然孳息,由所有权人取得;既有所有权人又有用益物权人的,由用益物权人取得。当事人另有约定的,按照约定。法定孳息,当事人有约定的,按照约定取得;没有约定或者约定不明确的,按照交易习惯取得。”关于这一规定,下列哪一说法是错误的?(
某制币厂为纪念奥运会特制纪念金币若干枚,每枚售价20088.8元。其广告宣传主要内容为:(1)纪念币系纯金制造;(2)纪念币数量仅有2008枚。后经证实,该纪念币系金铜合金;纪念币数量为20000枚。为此,购买者与该
以下哪种叙述中反映了火山、地震的分布规律?()
化学与生产、生活息息相关,下列叙述错误的是()。
我们知道,法国国旗是由蓝、白、红三条纵向的色带组成的。实际测量可以发现,三条色带中蓝色带最宽,白色带最窄,红色带宽度居中。出现这种现象的原因是()。
下面程序段的输出结果是()。publicclassTest{publicstaticvoidmain(Stringargs[]){inti=1;switch(i){case0:System.out.printl
如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是()。
随机试题
A.有头疽B.发C.丹毒D.疖E.外痈疖病中医学亦称为
为判断胎儿肾成熟度,应测孕妇的
男孩,16岁。低热、咳嗽、咽部不适2周,胸X线片示两肺下部网状及按小叶分布的斑片状浸润阴影,血WBC10×109/L。患者最可能的诊断是
案例:下面是某老师讲授“向心力”一课的教学片段实录。老师:同学们,上次课学习了向心加速度,我们知道做圆周运动的物体具有向心加速度。这节课我们学习向心力,大家翻看教科书第20页,将屏幕上展示的这几页课文读一遍(同时老师在屏幕展示课文的相关内容如下)。
阅读现代诗歌,要多选些好诗歌,从中接受美的______,______自己的情操。填入划横线部分最恰当的一项是()。
某人买钢笔和铅笔合计18支,共用30元,钢笔每支8元,铅笔每支0.4元,钢笔和铅笔各多少支?
社会保险:是指国家通过立法,采取强制手段对国民收入进行分配与再分配,形成专门消费基金,对劳动者在丧失劳动能力或失去工作机会时进行社会帮助以保障其基本生活的一种制度。下列属于社会保险的是()。
n把钥匙中只有一把可以把门打开,现从中任取一把开门,直到打开门为止,下列两种情况分别求开门次数的数学期望和方差:(1)试开过的钥匙除去;(2)试开过的钥匙重新放回.
假设某台式计算机的内存储器容量为256MB,硬盘容量为40GB。硬盘的容量是内存容量的__________。
Thecompanyislosingmoneyand______havetoclosedown.
最新回复
(
0
)