Java GUI之初见JProgressBar
2016-09-29 09:44
471 查看
进度条对于做UI界面来说是不可或缺的组件,原因如下:图形化界面客户端启动需要加载诸多配置资源,而进度条作为程序主界面展示之前的缓冲,
提高用户的体验感觉,而且进度条还可以做音乐播放器的播放进度,声音的高低刻度等等。
今天主要介绍的是Java GUI组件JProgressBar的运用,以下是界面展示效果。
//窗体以及组件初始化代码
frame = new JFrame("install")
//设置窗体布局
frame.setLayout(new BorderLayout());
//设置文本标签组件 文本内容居中
label = new JLabel("progress",SwingConstants.CENTER);
//进度条
progressbar = new JProgressBar();
progressbar.setOrientation(JProgressBar.HORIZONTAL);
progressbar.setMinimum(0);
progressbar.setMaximum(100);
//设置进度条的值
progressbar.setValue(0);
//progressbar.setStringPainted(true);
//监听进度条变化事件
progressbar.addChangeListener(this);
progressbar.setPreferredSize(new Dimension(300, 10));
progressbar.setBorderPainted(false);
progressbar.setBackground(Color.pink);
JPanel progressPane = new JPanel();
progressPane.add(progressbar);
progressPane.setPreferredSize(new Dimension(300, 10));
JPanel panel = new JPanel();
b = new JButton("install");
stop = new JButton("pause");
b.setForeground(Color.blue);
b.addActionListener(this);
stop.addActionListener(this);
panel.add(b);
panel.add(stop);
// timer=new Timer(100,this);
timer = new Timer(1000/10, this);
frame.add(panel, BorderLayout.NORTH);
frame.add(progressPane, BorderLayout.CENTER);
frame.add(label, BorderLayout.SOUTH);
// frame.pack();
frame.setBounds(100, 100, 400, 130);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
//按钮点击事件:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b) {
timer.start();
}
if (e.getSource() == stop) {
timer.stop();
}
if (e.getSource() == timer) {
int value = progressbar.getValue();
if (value < 100) {
progressbar.setValue(++value);
} else {
timer.stop();
frame.dispose();
}
}
}
//进度文本展示代码:
public void stateChanged(ChangeEvent e) {
int value = progressbar.getValue();
if (e.getSource() == progressbar) {
label.setText("current progress:" + Integer.toString(value) + "%");
label.setForeground(Color.blue);
}
}
源码地址:https://github.com/followwwind/javase
一点拙见,望看官笑纳!!!
提高用户的体验感觉,而且进度条还可以做音乐播放器的播放进度,声音的高低刻度等等。
今天主要介绍的是Java GUI组件JProgressBar的运用,以下是界面展示效果。
//窗体以及组件初始化代码
frame = new JFrame("install")
//设置窗体布局
frame.setLayout(new BorderLayout());
//设置文本标签组件 文本内容居中
label = new JLabel("progress",SwingConstants.CENTER);
//进度条
progressbar = new JProgressBar();
progressbar.setOrientation(JProgressBar.HORIZONTAL);
progressbar.setMinimum(0);
progressbar.setMaximum(100);
//设置进度条的值
progressbar.setValue(0);
//progressbar.setStringPainted(true);
//监听进度条变化事件
progressbar.addChangeListener(this);
progressbar.setPreferredSize(new Dimension(300, 10));
progressbar.setBorderPainted(false);
progressbar.setBackground(Color.pink);
JPanel progressPane = new JPanel();
progressPane.add(progressbar);
progressPane.setPreferredSize(new Dimension(300, 10));
JPanel panel = new JPanel();
b = new JButton("install");
stop = new JButton("pause");
b.setForeground(Color.blue);
b.addActionListener(this);
stop.addActionListener(this);
panel.add(b);
panel.add(stop);
// timer=new Timer(100,this);
timer = new Timer(1000/10, this);
frame.add(panel, BorderLayout.NORTH);
frame.add(progressPane, BorderLayout.CENTER);
frame.add(label, BorderLayout.SOUTH);
// frame.pack();
frame.setBounds(100, 100, 400, 130);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
//按钮点击事件:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == b) {
timer.start();
}
if (e.getSource() == stop) {
timer.stop();
}
if (e.getSource() == timer) {
int value = progressbar.getValue();
if (value < 100) {
progressbar.setValue(++value);
} else {
timer.stop();
frame.dispose();
}
}
}
//进度文本展示代码:
public void stateChanged(ChangeEvent e) {
int value = progressbar.getValue();
if (e.getSource() == progressbar) {
label.setText("current progress:" + Integer.toString(value) + "%");
label.setForeground(Color.blue);
}
}
源码地址:https://github.com/followwwind/javase
一点拙见,望看官笑纳!!!
相关文章推荐
- Java GUI之初见JFrame
- 编写Java GUI的好工具WindowBuilder Pro[包含Swt-Designer和Swing-Designer]
- 如何设计出具有GUI特色的“纯”JAVA程序
- Java_GUI_布局_流式布局
- 用Java快速开发Linux GUI应用
- [JAVA GUI练习]在JPanel上画出sin()图像
- 用Java快速开发Linux GUI应用
- Java_GUI_布局_网格布局
- Java_GUI_画五角星
- eclipse GUI 项目: visual editor 安装 (用Eclipse进行可视化Java界面设计)
- 如何设计出具有GUI特色的“纯”JAVA程序
- 关于java gui 方面的一些资源
- Java_GUI_3
- JAVA视频教程(二) - GUI应用程序开发
- 第一章 Java GUI的发展和演化
- 在java的GUI上放置图片,并在图片上输出半透明文字
- Java Gui Builder Project Home
- 使用java和shell脚本支持GUI模式/CLI模式切换
- Java_GUI_布局_卡片布局
- java 读取证书类以及key tool gui 1.7