Java实现简单进度条窗口
需积分: 9 138 浏览量
更新于2024-09-18
收藏 13KB DOCX 举报
"Java 实现进度条的代码示例"
在Java编程中,进度条(JProgressBar)是一种常用的用户界面组件,它允许用户看到后台进程的进度,从而提供更好的用户体验。下面将详细解释如何使用Java Swing库来创建一个简单的进度条,并结合按钮实现显示和隐藏的功能。
首先,我们需要导入必要的包,包括`java.awt`和`javax.swing`,这两个包提供了创建GUI所需的基本组件和布局管理器:
```java
import java.awt.BorderLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
```
接着,定义一个名为`ProgressFrame`的类,它继承自`JFrame`,表示一个窗口:
```java
public class ProgressFrame extends JFrame {
```
在这个类中,我们将创建一个进度条(JProgressBar)组件、一个按钮(JButton)以及布局管理所需的实例变量:
```java
JPanel panel1;
JButton button1;
GridBagConstraints gridBagConstraints1;
ProgressPane progressPane;
```
`ProgressFrame`的构造函数是创建窗口的主要部分。在这里,我们设置窗口的基本属性,如标题、位置、大小,并且设置布局管理器为`BorderLayout`:
```java
public ProgressFrame() {
super();
setTitle("进度条");
setBounds(100, 100, 500, 120);
setLayout(new BorderLayout());
printFrame();
this.setVisible(true);
this.setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
```
`printFrame`方法用于添加组件到窗口。首先,创建一个进度条组件`progressPane`,然后创建一个按钮`button1`,它的文本设置为“隐藏”。接着,创建一个`JPanel`实例`panel1`,并设置其布局管理器为`GridBagLayout`,以便我们可以自定义组件的位置:
```java
public void printFrame() {
progressPane = new ProgressPane();
button1 = new JButton("隐藏");
panel1 = new JPanel();
panel1.setLayout(new GridBagLayout());
gridBagConstraints1 = new GridBagConstraints();
gridBagConstraints1.gridy = 0;
gridBagConstraints1.gridx = 0;
panel1.add(button1, gridBagConstraints1);
```
在窗口的中央添加`panel1`,并在南部(底部)添加进度条组件:
```java
getContentPane().add(panel1, BorderLayout.CENTER);
getContentPane().add(progressPane, BorderLayout.SOUTH);
}
```
为了实现点击按钮隐藏或显示进度条的功能,我们需要为按钮添加一个监听器。当按钮被点击时,监听器会触发`actionPerformed`方法:
```java
button1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (progressPane.isVisible()) {
progressPane.setVisible(false);
button1.setText("显示");
} else {
progressPane.setVisible(true);
button1.setText("隐藏");
}
}
});
```
以上代码实现了一个简单的Java Swing进度条界面,用户可以通过点击“隐藏”或“显示”按钮来控制进度条的可见性。虽然示例没有展示如何更新进度条的进度,但通常可以通过调用`setProgress`方法来改变进度条的值,以此反映后台任务的完成情况。例如:
```java
progressPane.setProgress(value); // 其中value是0到100之间的整数
```
总结来说,这个Java程序演示了如何使用Swing库创建一个带有进度条和控制按钮的简单窗口,通过按钮操作可以控制进度条的显示和隐藏。对于更复杂的进度条需求,比如动态更新进度,可以进一步学习`javax.swing.Timer`或者`SwingWorker`等工具。
2021-10-02 上传
3488 浏览量
366 浏览量
1094 浏览量
2023-06-08 上传
115 浏览量
点击了解资源详情
点击了解资源详情
166 浏览量
ainipengdan
- 粉丝: 0
- 资源: 4
最新资源
- yet-another-emoji-support:这是IntelliJ插件,支持使用内容辅助功能在编辑器中插入表情符号
- Feel Good Browsing-crx插件
- 彩色微立体商务幻灯片图表整套下载PPT模板
- Springboot 结合Apache Spark 2.4.4与Scala 2.12 集成示例
- Template-Elsevier.zip
- SAM_BHoM:SAM与建筑物和人居物体模型(BHoM)的连接
- Hello World_java_world_gardenwew_
- d6f-2jcieev01-raspberrypi:带有评估套件2JCIE-EV01-RP1和某些Raspberry-Pi板的D6F MEMS流量传感器
- 基于图神经网络的一个天气推荐系统.zip
- angular-test-reporter:用于发布和查看自动化测试结果的应用程序,使用 AngularJS 和节点 Rest 服务器
- EPSON 20080 宣纸打印过程起皱的解决方法.rtf.zip
- GW Warp Bookmarks-crx插件
- 黑色艺术时尚图表大全PPT模板
- 前端设计模式:设计模式
- palm:with使用背包钥匙扣提醒您过度紫外线辐射:old_key:
- sqj-star.github.io