java 进度条时间设置_java进度条时间显示怎么实现?
我們在一些網(wǎng)站中經(jīng)常能夠看到進度條,這是提示我們當前加載到什么時候了,本篇文章我們就來看看用java如何寫出這么一個時間進度條。
示例:package?com.original.client.widget.execcenter;
import?java.awt.BorderLayout;
import?java.awt.Color;
import?java.awt.Container;
import?java.awt.Dimension;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.JButton;
import?javax.swing.JFrame;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
import?javax.swing.JProgressBar;
import?javax.swing.Timer;
import?javax.swing.event.ChangeEvent;
import?javax.swing.event.ChangeListener;
import?net.miginfocom.swing.MigLayout;
/**
*
*?@author?panghui?2013-6-28
*?消息中心倒計時進度條
*/
public?class?TestOExecProgressBar?implements?ActionListener,?ChangeListener
{
JFrame?frame?=?null;
JProgressBar?progressbar;
JLabel?label;
Timer?timer;
JButton?b;
JButton?s;
public?TestOExecProgressBar()
{
frame?=?new?JFrame("安裝");
frame.setBounds(100,?100,?400,?130);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container?contentPanel?=?frame.getContentPane();
label?=?new?JLabel("",?JLabel.CENTER);
progressbar?=?new?JProgressBar();
progressbar.setOrientation(JProgressBar.HORIZONTAL);
progressbar.setMinimum(0);
progressbar.setMaximum(100);
progressbar.setValue(0);
//progressbar.setStringPainted(true);//設置進度條上邊是否顯示?百分比
progressbar.addChangeListener(this);?//?實現(xiàn)進度條值改變的動態(tài)監(jiān)聽
progressbar.setBounds(0,?20,?100,?5);
progressbar.setBorderPainted(false);
progressbar.setForeground(new?Color(55,?165,?228));
progressbar.setBackground(new?Color(218,?218,?218));
JPanel?panel?=?new?JPanel(new?MigLayout("wrap?2",?"[grow,100%]",?"[grow,50%]?[grow,50%]"));
panel.setBackground(new?Color(255,?255,?255));
panel.setPreferredSize(new?Dimension(400,?50));
b?=?new?JButton("安裝");
b.setForeground(Color.blue);
b.addActionListener(this);
s?=?new?JButton("停止");
s.setForeground(Color.blue);
s.addActionListener(this);
panel.add(b);
panel.add(s);
panel.add(progressbar,?"growx,h?7!,span?2");
timer?=?new?Timer(100,?this);
contentPanel.add(panel,?BorderLayout.NORTH);
contentPanel.add(label,?BorderLayout.SOUTH);
frame.setVisible(true);
}
public?void?actionPerformed(ActionEvent?e)
{
if?(e.getSource()?==?b)
{
timer.start();
}
if?(e.getSource()?==?s)
{
timer.stop();
}
if?(e.getSource()?==?timer)
{
int?value?=?progressbar.getValue();
if?(value?
{
progressbar.setValue(++value);
}
else
{
timer.stop();
//frame.dispose();
}
}
}
public?void?stateChanged(ChangeEvent?e1)
{
int?value?=?progressbar.getValue();
if?(e1.getSource()?==?progressbar)
{
label.setText("目前已完成進度:"?+?Integer.toString(value)?+?"%");
label.setForeground(Color.blue);
}
}
public?static?void?main(String[]?args)
{
TestOExecProgressBar?app?=?new?TestOExecProgressBar();
}
}
以上就是本篇文章的所有內容,想了解更多java常見問題及解決方法的小伙伴就請關注我們網(wǎng)站吧。
推薦閱讀:
總結
以上是生活随笔為你收集整理的java 进度条时间设置_java进度条时间显示怎么实现?的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: JavaSE集合练习题
- 下一篇: 【预测模型】Logistic 人口阻滞增
