首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
admin
2009-01-15
53
问题
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
public class ex22_2 extends JPanel{
ThreadProg thProgress;
JProgressBar jpb;//声明一个进程条对象
static JFrame if;
public ex22_2() {
setLayout(new BorderLayout());
jpb=new JProgressBar();
add(jpb,"Center");
JPanel btnPanel = new JPanel();
JButton btnStart = new JButton("Start");
btnPanel.add(btnStart);
btnStart.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae) {
_______________;
}
});
JButton btnStop = new JButton("Stop");
btnPanel.add(btnStop);
btnStop.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae) {
____________;
}
});
add(btnPanel, BorderLayout. SOUTH);
}
public void startProgress() {
if(thProgress == null|| !thProgress.isAlive())
thProgress = new ThreadProg(jpb);
thProgress.start();
}
}
public void stopProgress() {
thProgress.setStop(true);
}
public static void main(String args[]){
jf = new JFrame("ex22_2");
ex22_2 obj22_2 = new ex22_2();
jf.getContentPane().add("Center",obj22_2);
jf.setSize(250,80);
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(O);
}
});
jf.setVisible(true);
}
}
class ThreadProg extends Thread {
private JProgressBar jpb;
private boolean bStop = false;
private boolean bAlive = false;
public ThreadProg(JProgressBar jpb){
this.jpb = jpb;
}
public void setStop(boolean b){
bStop = b;
}
public void run () {
int min = 0;
int max = 60;
jpb.setMinimum(min);
jpb.setMaximum(max);
jpb.setValue(min);
for (int x=min;x<=max;x++) (
if(bStop){
break;
}else{
jpb. setValue (x);
try {
Thread. sleep (150);
} catch (InterruptedException e) {
}
}
}
bAlive = false;
}
}
选项
答案
startProgress() stopProgress()
解析
本题主要考查swing图形用户界面编程以及多线程编程相结合。解题关键是掌握进度条JProgressBar类的基本用法及其与多线程相结合的编程方法,会继承Thread类写自己的线程类,完成需要的功能,线程的开始与暂停被封装在ThreadProg类中。本题中,第1个空,根据点击Start按钮事件调用startProgress()方法启动线程;第2个空,根据点击Stop按钮事件调用stopProgress()方法暂停线程。
转载请注明原文地址:https://kaotiyun.com/show/JUnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
下列选项中不属于结构化程序设计原则的是
在VisualFoxPro中,定义数据的有效性规则时,在规则框输入的表达式的类型是
下列链表中,其逻辑结构属于非线性结构的是
为便于在表单中连续添加同种类型的多个控件,可先按下“表单控件”工具栏中的
在考生文件夹下有一个名为myform的表单,表单中包含一个列表框和两个命令按钮。请在该表单中完成如下操作:(1)打开表单,设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。RowSourceTy
为了对“认识管理”数据库中的数据进行查询,请设计一个用于查询部门职工的表单。该表单的名称为formone,文件名为pform.sex,标题为“人员查询”,其界面如下图所示:表单左侧有一个名为Labelone的标签,显示内容未“输入部门”;一个名
下列有关过程调用的叙述中,正确的是()。
在表单(Forml)的INIT事件中编写程序代码,下列语句中不能将表单的背景颜色设置为绿色的是()。
在考生文件夹下完成下列操作:(1)用命令新建一个名为“外汇”的数据库,并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新建一个数据库表rate,
SQL语言的查询语句是
随机试题
PAGE中影响蛋白质样品迁移率的是分子量和电荷两种因素。()
A.三七B.合欢皮C.朱砂D.琥珀E.柏子仁既能活血消肿,又能解郁安神的药物是()
以“患者为中心”的优质护理服务工作模式是()。
公共建筑某区域净高为5.5m,采用自然排烟,设计烟层底部高度为最小清晰高度,自然排烟窗下沿不应低于下列哪个高度?
某煤矿计划进行采区设计,在总工程师的领导下,组内人员对采区设计的步骤进行了讨论,其认为进行采区设计的步骤有:①掌握设计依据,明确设计任务;②酝酿方案,编制设计方案;③深入现场,调查研究;④编制采区设计;⑤设计方案审批;⑥采区设计的实施与修改。下列正确的采区
企业接受捐赠的资产属于()。
案例:某教师在进行圆锥曲线的教学时,给学生出了如下一道练习题:求过点(0,1)的直线,使它与抛物线y2=2χ仅有一个公共点。某学生的解答过程如下:解:设所求的过点(0,1)的直线为y=kχ+1,则它与抛物线的公共点为消去y得
根据以下资料。回答下列问题。2013年,广东固定资产投资总量迈上新台阶,共完成22858.53亿元,增长18.3%,比2012年加快2.8个百分点。其中,城镇投资18907.34亿元,增长18.6%;农村投资3951.19亿元,增长17.0%。
分析书院的特点、精神,以及对当前我国教育的启发。
下列叙述中正确的是( )。
最新回复
(
0
)