首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
admin
2009-01-15
37
问题
下面是一个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全国计算机二级
相关试题推荐
在VisualFoxPro中,下面关于属性、方法和事件的叙述错误的是
在考生文件夹下完成下列操作:1.将歌手比赛分为4个组,“歌手表”中的“歌手编号”字段的左边两位表示该歌手所在的组号。考生文件夹下的程序文件five.prg的功能是:根据“歌手表”计算每个组的歌手人数,将结果存入表one,表one中有“组号”和“歌
1.在考生文件夹下创建一个名为“订单管理”的数据库,并将已有的employee和orders两个表添加到该数据库中。2.为orders表建立一个按降序排列的普通索引,索引名为je,索引表达式为“金额”。3.在“订单管理”数据库中新建一个
在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(command1和Command2),两个命令按钮的标题分别为“计算”和“退出”。(2)列表框(List1
在考生文件夹下完成下列操作:1.请修改并执行程序temp.prg,该程序的功能是:根据“教师表”和“职称表”计算每位教师的“应发工资”,每个教师的“应发工资”等于:与“职称级别”相符的“基本工资”+“课时”×80×职称系数,教授的职称系数为1.4
在考生文件夹下,完成如下简单应用:1.利用查询设计器创建一个查询,其功能是从xuesheng和chengji两个表中找出1982年出生的汉族学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号降序排列;查询去向为表tabl
在考生文件夹下已有一个菜单文件mymenu.mnx,运行相应的菜单程序时会在当前VFP系统菜单的末尾追加一个“考试”子菜单,如图3-9所示(在菜单设计器环境下,使用“常规选项”命令打开相应对话框,在“位置”中指定“追加”)。在考生文件夹下还有一个表单文
下列情况中,不会使线程返回所持有的对象锁的是
每个applet必须定义为______的子类。
所有的输出过滤流都是抽象类______的子类。
随机试题
Inmostcasestheseindividualsaredreamingofwealthandfame,notthelonghoursaloneatatypewriter.
女,33岁,昨晚吃街边烧烤后今晨5时突然畏寒、高热、呕吐、腹痛、腹泻,腹泻共4次,有明显里急后重,开始粪便为稀水样便,继之出现黏液和脓血。查体:体温38.5℃,脉搏92次/分,血压120/80mmHg,心肺检查未见明显异常,腹平软,左下腹部有压痛,无肌紧张
不是当归四逆汤与桂枝汤共有的药物是
A.恶心、呕吐、便秘B.耐受性和依赖性C.血压升高D.呼吸肌麻痹E.呼吸急促连续反复应用吗啡可引起的不良反应是
假设银行系统的原始存款额为1000亿元,法定存款准备金率为8%,超额准备金率为2%,现金漏损率为10%。根据上述资料,回答下列问题。下列关于商业银行存款准备金的等式中,正确的有()。
下列的各个部门中,有利于识别及帮助评估企业风险的有()。
营业过程中,前台柜员最低保留()个柜员在岗。
一个四位数能被9整除,去掉末位数字后所得的三位数恰是4的倍数,则这样的四位数中最大的一个的末位数字是()。
有如下程序:PrivateSubForm_Click()E=1:F=1Fori=1To3E=E+F:F=F+ENextPrintE;FEnd
TheauthorindicatesatthebeginningofthepassagethatTheimportanceofmovementinmusicisexplainedbycomparingitto
最新回复
(
0
)