首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
下面是一个Applet程序,其功能是实现一个计数器,每隔0.15秒计数器数值加1,数值动态变化,并且能够控制计数器的暂停和继续。要求通过使用swing的构件建立图形用户界面,主要包括一个文本区域,用于显示计数器结果;两个按钮,一个使计数器暂停,一个使计数器
admin
2009-01-15
92
问题
下面是一个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)建立一个文件名和表单名均为oneform的表单文件,表单中包括两个标签控件(Label1和Label2)、一个选项组控件(Optiongroup1)、一个组合框控件(Combol)和两个命令按钮控件(comman
1.在考生文件夹下创建一个名为“订单管理”的数据库,并将已有的employee和orders两个表添加到该数据库中。2.为orders表建立一个按降序排列的普通索引,索引名为je,索引表达式为“金额”。3.在“订单管理”数据库中新建一个
1.建立一个表单文件myform,将employee表添加到表单的数据环境中,然后在表单中添加表格控件grid1,指定其记录源类型为“别名”、记录源为employee表文件,最后添加一个“退出”命令按钮控件command1,程序运行时单击该命令按钮将关闭表
在考生文件夹下完成下列操作:1.编写程序文件prgone.prg,其功能是从“人事管理”数据库的相关表中查询销售部从1985年到1989年这5年出生的所有职工的信息,并存到表cyqk.dbf中。查询结果包含编号、姓名、出生日期和部门名称(部门表中
在考生文件夹下,打开名称为CDB的商品销售数据库,完成如下综合应用:创建一个标题名为“顾客购买商品查询”、文件名为GK的表单,如下图所示。表单要求如下:(1)在该表单中设计两个标签、两个文本框、一个表格控件和两个命令按钮。
1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框.如下图所示。按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。(1)将o
在菜单设计器环境下,选择“显示”菜单中的“常规选项”命令能够打开“常规选项”对话框。下面不能在“常规选项”对话框中进行的操作是()。
在java.swing包中,定义了两种类型的构件。顶级容器和轻量级构件。其中顶级容器包括JFrame,JApplet,JDialog和【】。
Java语言中数据类型之间的自动类型转换是由优先关系从低级数据类型转换成高级数据类型,下面选项中自动类型转换优先级由低到高排列正确的是
随机试题
Weusebothwordsandgesturestoexpressourfeelings,buttheproblemisthatthesewordsandgesturescanbeunderstoodindi
某甲自有城市房屋1间,2006年3月1日其与乙签订一份为期3年的房屋租赁合同由乙承租该房。同年8月6日丙向甲提出愿意购买该房屋,甲即将要出卖该房屋的情况告知乙。到了11月7日乙没有任何答复,甲与丙协商以50万元的价格将该房卖给丙,双方签订了房屋买卖合同,丙
临边作业必须设置满足施工安全需要的防护栏杆等防护设施,下列关于防护栏杆设置的要求中,说法错误的是()。
从事货物生产的个体户月销售额在()万元以上及从事货物批发或零售的个体户月销售额在()万元以上的,应当设置复式账。
我国的第一部宪法是1949年颁布的《中国人民政治协商会议共同纲领》。()
《中华人民共和国国民经济和社会发展第十四个五年规划和2035年远景目标纲要》指出,维护社会稳定和安全,要正确处理新形势下人民内部矛盾,加强社会治安防控,编织全方位、立体化、智能化社会安全网。下列有关表述错误的是()。
下面是关于Pentium 微处理器三种工作模式的叙述,其中错误的是( )。
下列各项计算机能直接执行的是
"Nowwe’remorethanhalfway;onlytwomilesawayfromthetavern,"saidthedriver. "I’mgladofthat!"answeredthest
AcenturyagointheUnitedStates,whenanindividualbroughtsuitagainstacompany,publicopiniontendedtoprotectthatcom
最新回复
(
0
)