首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下
admin
2009-01-15
86
问题
请完成下列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中,定义数据的有效性规则时,在规则框输入的表达式的类型是
在VisualFoxpro中,属于命令按钮属性的是
在考生文件夹下完成如下简单应用:1.用SQL语句完成下列操作:列出所有与“红”颜色零件相关的信息(供应商号、工程号和数量),并将查询结果按数量降序存放于表supply_temp中。2.新建一个名为menu_quick的快捷菜单,菜单中有两个菜单
在考生文件夹下完成如下简单应用:1.利用查询设计器创建查询,从xuesheng表和chengji表中查询数学、英语和信息技术3门课程都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、
下列有关过程调用的叙述中,正确的是()。
在使用项目管理器时,选择移去文件,然后在提示的框中选择“移去”命令按钮,系统将会把该文件()。
在表单设计器的属性窗口中设置表单或其他控件对象的属性时,以下叙述正确的是()。
在考生文件夹下完成下列操作:在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前vfp系统菜单的末尾追加一个“考试”子菜单,如图3-15所示。菜单命令“统计”和“返回”的功能都通过执行过程
以下属于非容器类控件的是()。
随机试题
设曲线y=y(x)(x>0)经过点(1,2)。该曲线上任意一点P(x,y)到y轴的距离等于该点处的切线在y轴上的截距.求y=y(x).
患者,女,15岁。吃瓜果后,出现腹痛,下痢脓血,泻痢不爽。宜用黄连配伍下列哪味中药()
硝酸酯类舒张血管的机制是
淋巴结内转移,蘸首先见于何处
小儿,体重8kg,身长68cm,会抬头,会独坐,会爬,不会站,萌牙2枚。为判断骨骼发育年龄,最有临床意义的X线拍片部位是()
从业人员不得在未经客户同意的情况下,将客户的任何私人信息泄露给他人,除非是依照恰当的法律程序。()
下列各项中属于财务预算的有()。
Marriageis,formanypeople,theirmostimportantrelationship,thesourceofmuchhappiness,and,forsome,evenaddsextraye
Itisnotlongsinceconditionsinthemineswereworsethantheyarenow.Therearestill【C1】______afeweveryoldwomenwhoin
Fillinthecrosswordssothatallthegivenwordsareincluded.Youhavebeengivenoneletterasaclueinthecrossword.HEAR
最新回复
(
0
)