Java GUI之初见JProgressBar

进度条对于做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

一点拙见,望看官笑纳!!!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值