首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
admin
2009-01-15
78
问题
请完成下列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全国计算机二级
相关试题推荐
结构化程序设计中,下面对goto语句使用描述正确的是
下列排序方法中,最坏情况下比较次数最少的是
在表单设计中,经常会用到一些特定的关键字、属性和事件,下列各项中属于属性的是
在考生文件夹下存在表单文件myform.scx,其中包含一个名为“高度”的标签,文本框Text1,以及一个名为“确定”的命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:1.将标签、文本框和命令按钮3个控件设置为顶边对齐。2
在考生文件夹下完成下列操作:(1)建立一个文件名和表单名均为myform的表单,表单中包括一个列表框(List1)和两个命令按钮(command1和Command2),两个命令按钮的标题分别为“计算”和“退出”。(2)列表框(List1
在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前VisualFoxPro系统菜单的末尾追加一个“考试”子菜单,如下图所示。“计算”和“返回”菜单命令的功能都通过执行“过程”完成
为了对“认识管理”数据库中的数据进行查询,请设计一个用于查询部门职工的表单。该表单的名称为formone,文件名为pform.sex,标题为“人员查询”,其界面如下图所示:表单左侧有一个名为Labelone的标签,显示内容未“输入部门”;一个名
使用的数据表结果如下:图书(总编号C(6),分类号C(8),书名C(16),作者C(6).出版单位C(20),单价N(6,2))读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))借阅(借书证号C(4),总
在关系模型中,每个关系模式中的关键字()。
软件测试的目的是
随机试题
驾驶机动车在高速公路遇到能见度低于50米的气象条件时,车速不得超过20公里/小时,还应怎么做?
弹词小说中流行最广、影响最大的作品是()
患儿,2岁,不会独立行走,智力落后,查体:眼距宽,鼻粱低平,伸舌,皮肤细嫩。小指短向内侧弯曲,通贯手。此患儿最可能的诊断是
用甲醛进行熏蒸消毒需加入的氧化剂是
A、.健脾丸B、.白头翁汤C、.四君子汤D、.葛根芩连汤E、.四逆散外感表热未解,邪热入里,症见身热,下利,胸脘烦热,口干作渴,舌红,脉数者,治宜选用
管内穿线应在()完成后进行,穿线时应采取有效措施确保线管内无积水或杂物。
下列工程中必须由民航机场工程一级建造师承担的是()工程。
甲有限责任公司股东会作出公司合并决议,并依法向债权人发出了通知、进行了公告。乙是甲有限责任公司的债权人。根据公司法律制度的规定,乙在法定期限内有权要求甲有限责任公司清偿债务或者提供相应的担保。该法定期限是()。
东山市威达建材广场每家商店的门边都设有垃圾桶。这些垃圾桶的颜色是绿色或红色。如果上述断定为真,则以下哪项一定为真?Ⅰ.东山市有一些垃圾桶是绿色的。Ⅱ.如果东山市的一家商店门边没有垃圾桶,那么这家商店不在威达建材广场。
超级链接地址不包括()。
最新回复
(
0
)