首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
admin
2009-01-15
94
问题
请完成下列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中,可视类库文件的扩展名是
在考生文件夹下完成如下简单应用:1.利用查询设计器创建查询,从xuesheng表和chengji表中查询数学、英语和信息技术3门课程都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、
1.打开考生文件夹下的SPORT数据库,并永久删除该数据库中的temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3个自由表加入该数据库。2.为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。3.通过SQL语句为表“金
在VisualFoxPro中,下列变量中需要事先定义是()。
下列关于变量的叙述中,正确的一项是()。
使用如下3个数据库表:职员.dbf:职员号C(3),姓名C(6),性别C(2),组号N(1),职务C(10)客户.dbf:客户号C(4),客户名C(36),地址C(36),所在城市C(36)订单.dbf:订单号C(4),客户名C(4),职员号C(
页框控件也称作选项卡控件,在一个页框中可以有多个页面,页面个数的属性是()。
负责数据库中查询操作的数据库语言是
软件测试的目的是
随机试题
当該申請書類において、外国人留学生の場合は、自身の署名があれば、________は無くてもよいものとする。
管道现场补口外除锈一般采用钢丝刷。
在Access2010数据库中,下列_________是数据库对象。
心搏骤停是指心脏突然衰竭而不能搏出足量的血液以保证脑的存活。()
关于慢性宫颈炎,错误的是
A、四环素B、螺旋霉素C、甲硝唑D、青霉素E、交沙霉素下列疾病治疗时,若用抗生素治疗应首选的药物青少年牙周炎选用
强调后天的学习作用及环境对心理发展的影响的学派,其代表人物包括
以下不属于英美法系的特点的是()。
简述教师专业自主权的内涵与表现。
定义某一个字段默认值属性的作用是( )。
最新回复
(
0
)