首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
admin
2009-01-15
87
问题
下面是一个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://kaotiyun.com/show/VHnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在考生文件夹下完成如下简单应用:1.打开表单MYFORM4-4,把表单(名称为Forml)标题改为“欢迎您”,将文本“欢迎您访问系统”(名称为Label1的标签)改为25号黑体。最后在表单上添加“关闭”(名称为command1)命令按钮,单击此按
1.在考生文件夹下打开数据库文件“大学管理”,为其中的“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”。2.打开one.prg文件,修改其中的一处错误,使程序执行的结果是在屏幕上显示:5432
请在考生文件夹下完成下列基本操作题。(1)新建一个名为“影院管理”的项目文件,将数据库‘TheatDB加入新建的“影院管理”项目中。(2)为“售票统计”表建立主索引,索引名为idx,要求按日期排序,日期相同时按放映厅排序。(3
在考生文件夹下完成下列操作:(1)编写程序文件two.prg并执行。计算“01”组(歌手编号的前2位)歌手的得分,并将结果存入自由表FINAL中。FINAL包含“歌手姓名”和“得分”两个字段,“得分”取各评委所打分数的平均值。FINAL中的结果按
在考生文件夹下有一表单文件formone.scx,其中包含一个文本框和一个命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:1.将文本框和命令按钮两个控件设置为顶边对齐。2.将文本框的默认值设置为0。3.将表单的标
在考生文件夹下完成如下简单应用:1.利用查询设计器创建一个名为query1.qpr的查询文件,查询考生文件夹下xuesheng表和chengji表中数学、英语和信息技术3门课中至少有一门课在90分以上(含)的学生记录。查询结果包含学号、姓名、数学
打开考生文件夹下的sport_proieet项目,项目中有一个名为sport_form的表单文件,表单中包括3个命令按钮。请完成如下操作:(1)编写并运行程序Four.prg。程序功能是:根据“国家”和“获奖牌情况”两个表统计并生成一个
如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,请写出该类的声明头:【】。
每个applet必须定义为______的子类。
随机试题
天然的雄激素是:
简述教学模式的种类。
在社会主义市场经济条件下,加强医德建设,可以
张女士,57岁,化工厂退休职工,肥胖,绝经5年。高血压史20余年。因两次出现阴道流血,来社区卫生站咨询是否需进一步诊治。医生建议她应去中心医院明确诊断。张女士被诊断为子宫内膜癌,没有发现转移病灶。该病首选治疗方案是
按照承揽合同的法律规定,下列关于定作人义务的表述中,正确的是()。
《浙江省旅游管理条例》规定,发展旅游业应当实行()主导。
导游将散客旅游者接到饭店后应做好的工作有()。
按照设计图想象自己未来家的样子,这属于()。
【给定资料一】中国人讲究礼尚往来,逢年过节来往走动,互赠礼物,互祝安康,也是美好情谊的表达。特别是在结婚这样的喜事上更是讲究礼尚往来。操办婚礼无可厚非,但是动辄十几万甚至几十万的彩礼、几百几千的份子钱,亲朋好友连吃多天的婚宴酒席等大操大办、铺张浪
Youknowyouhavetoread"betweenthelines"togetthemostoutofanything.Iwanttopersuadeyoutodosomethingequallyim
最新回复
(
0
)