首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
admin
2009-01-15
43
问题
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器继续工作。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。
import javax, swing. *
import java. awt. *
import java. awt. event. *
/*
<applet code= "ex4_2. class" width=800 height=400>
</applet>
*/
public class ex4_2 extends JApplet {
private JTextField jtf=new JTextField(15);
private JButton Hold = new JButton ("Hold"), resume = new JButton ( "Resume" );
private ex4_2th obj4_2th= new ex4_2th();
class ex4_2th extends Thread {
private int cnt=0;
private boolean bIsHold=false;
public ex4_2th() {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)
notify( );
}
} 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) {
obj4_2th. hold()
}
});
cp. add(Hold);
resume, addActionListener (
new ActionListener() {
public void actionPerformed(ActionEvent e)
obj4_2th. fauxResume( )
}
});
cp. add(resume)
}
public static void main(String[] args) {
ex4_2 obj4_2 =new ex4_2()
String str= obj4_2. 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(0);
}
});
frm. getContentPane(), add(obj4_2)
frm. setSize(300,200)
obj4_2. init()
obj4_2. start( );
frm. setVisible(true)
}
}
ex4_2. html
<HTML>
<HEAD>
<TITLE>ex4_2</TITLE>
</HEAD>
<BODY>
<applet code="ex4_2. 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://jikaoti.com/ti/LSb0FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在考生文件夹下完成下列操作:1.将歌手比赛分为4个组,“歌手表”中的“歌手编号”字段的左边两位表示该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果存入表one,表one中有“组号”和“歌
在考生文件夹,打开商品销售数据库CDB,完成如下简单应用:1.使用一对多报表向导建立名称为P_ORDER的报表。要求从父表顾客表CUST中选择所有字段,从子表订单表ORDER中选择所有字段;两表之间采用“顾客号”字段连接;按“顾客号”字段升序排序
在考生文件夹下完成如下基本操作:1.通过SQLINSERT语句插入元组("p7","PN7",1020)到“零件信息”表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。2.通过SQLDELETE语句从“
(1)在考生文件夹下建立一个文件名和表单名均为oneform的表单,该表单中包括两个标签(Label1和Label2)、—个选项按钮组(OptionGroupl)、一个组合框(Combol)和两个命令按钮(Comand1和Command2),Label1和
在考试文件夹下完成下列操作:1.在考生文件夹下“人事管理”数据库中,为“职工”表中的“性别”字段设置有效性规则,只能取“男”或“女”;默认值是“男”。2.建立快捷菜单cd,选项有打开、关闭和退出。生成同名的菜单程序文件。3.为“职
1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框.如下图所示。按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。(1)将o
在考生文件夹下已有order、orderitem和goods三个表。其中,order表包含了订单的基本信息,orderitem表包含了订单的详细信息,goods表包含了商品(图书)的相关信息。1.利用查询设计器创建查询,从order、orderi
1.用SQL语句完成下列操作:检索“田亮”所借图书的书名、作者和价格,结果按价格降序存入book_temp表中。2.在考生文件夹下有一个名为menu_lin的下拉式菜单,请设计一个名为form_menu的顶层表单,将菜单menu_lin加入到该表
如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:【】。
下列情况中,不会使线程返回所持有的对象锁的是
随机试题
每个人的机体条件不同,膳食需求也不相同。()
憋压法补贴操作程序如何?
根据《中华人民共和国固体废物污染环境防治法》,产生、收集、贮存、运输、利用、处置危险废物的单位,应当制定意外事故的防范措施和()。
在风险因素取值专家评定法中,要计算出期望值,必须知道的前提数值是()。
IMF目前提供的6类贷款中,数量最大的3类是()。
20×4年12月末,甲公司购入一项不需安装的管理用固定资产,入账价值为50万元,预计净残值为2万元,预计使用年限为10年,采用双倍余额递减法计提折旧。20×7年末,该项固定资产出现减值迹象,预计未来现金流量的现值为10万元,公允价值减处置费用后的净额为9万
心理学研究发现,个体生命早期的某个时期对某种刺激特别敏感,过了这一时期,同样的刺激对其影响很小或几乎没有影响,这一时期在心理学中被称为______。
人们常说“人善被人欺”“马善被人骑”,但又有人说应本分做事,老实做人,你如何看?
我们知道,法国国旗是由蓝、白、红三条纵向的色带组成的。实际测量可以发现,三条色带中蓝色带最宽,白色带最窄,红色带宽度居中。出现这种现象的原因是()。
WhenNeilArmstrongandBuzzAldrinreturnedfromthemoon,theircargoincludednearlyfiftypoundsofrockandsoil,whichwer
最新回复
(
0
)