[问答题] 请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下: ![[问答题] 请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行 [问答题] 请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行](/uploadfile/member/20180926/1537955502.jpg)
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); }
参考答案:
问题解析:
startProgress() stopProgress() 本题主要考查swing图形用户界面编程以及多线程编程相结合。解题关键是掌握进度条JProgressBar类的基本用法及其与多线程相结合的编程方法,会继承Thread类写自己的线程类,完成需要的功能,线程的开始与暂停被封装在ThreadProg类中。本题中,第1个空,根据点击Start按钮事件调用startProgress()方法启动线程;第2个空,根据点击Stop按钮事件调用stopProgress()方法暂停线程。

![[问答题] 请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行 [问答题] 请完成下列Java程序;创建一个进度条,可以控制其开始和暂停。要求进度条与线程关联,由线程控制,点击Start按钮开始进度条的滚动,点击Stop按钮,暂停,继续点击Start按钮则继续进行](http://www.mshxw.com/aiimages/31/260412.png)
