首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
admin
2009-01-15
63
问题
下面是一个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)在考生文件夹下创建一个名为mymenu.mnx的下拉式菜单,运行该菜单程序时会在当前VisualFoxPro系统菜单的末尾追加一个“考试”子菜单,如下图所示。“统计”和“返回”菜单命令的功能都通过执行“过程”完成。菜单命令“统计
在考生文件夹下完成下列操作。为了查询低价机票,请设计一个表单myform.scx,其界面如下图所示:表单控件名为formone,表单的标题为“机票折扣查询”。表单左侧有1个标签控件Labelone用于显永内容“输入折扣”,1个文本框控件
1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框.如下图所示。按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。(1)将o
打开考生文件夹下的sport_proieet项目,项目中有一个名为sport_form的表单文件,表单中包括3个命令按钮。请完成如下操作:(1)编写并运行程序Four.prg。程序功能是:根据“国家”和“获奖牌情况”两个表统计并生成一个
在考生文件夹下已有order、orderitem和goods三个表。其中,order表包含了订单的基本信息,orderitem表包含了订单的详细信息,goods表包含了商品(图书)的相关信息。1.利用查询设计器创建查询,从order、orderi
在菜单设计器环境下,选择“显示”菜单中的“常规选项”命令能够打开“常规选项”对话框。下面不能在“常规选项”对话框中进行的操作是()。
创建一个线程之后,通过调用该线程对象的______方法将潜入该线程的虚拟CPU置于可运行状态。
所有的输出过滤流都是抽象类______的子类。
随机试题
患者,男,46岁。口腔糜烂1年,躯干水疱6个月。体格检查:躯干见蚕豆大小的水疱,壁薄,基底红,尼氏征(+);并见较多糜烂面,表面有污秽痂皮;口腔黏膜糜烂。实验室检查:血尿及大便常规检查正常;肝肾功能正常;ESR正常。确诊该病,最有价值的辅助检查为
A.小蓟B.白茅根C.侧柏叶D.茜草E.槐角既凉血止血,又活血通经的是
巴比妥类药物进入脑组织快慢主要取决于()。
建设工程项目管理的“费用目标”对业主而言指的是()。
诗人从生活和大自然捕捉灵感,将语言文字剪裁成诗;知音的理解和回响,可使诗的意象和隐藏其中的思想感情浮现出来。天地一沙鸥,海上生明月,悠然见南山,经由后人的吟诵品味,其意象才更为深化;巴山夜雨,易水悲歌,汉关秦月,江山风光和人物诗文相互烘托,转化为跨时空的文
《幼儿园工作规程》明确规定幼儿园教育要以()为基本活动,寓教育于各项活动中。
教师在班级管理中应当将非正式组织取消,从而增强班级群体的力量。()
A、 B、 C、 D、 B很明显本题考查的是图形的对称性。以中间图形为中心,其对称位置上的图形关于中间图形对称,由此选择B。
思维的智力操作过程的基本形式有()
WhatisthemostimportantfactorforarockettoescapefromtheEarth?Howfastwillarocketgotoescapecompletelyfromth
最新回复
(
0
)