你知道怎么用Swing写一个进度条

 时间:2024-10-12 00:17:04

1、先来段代码:package chapter4;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.concurrent.TimeUnit;/** * Created by MyWorld on 2016/3/24. */public class SwingJProgressBarDemo { public static void main(String[] args) { JFrame frame = new JFrame("JProgressBarDemo"); frame.setSize(400, 200); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); final JProgressBar progressBar = new JProgressBar(); progressBar.setOrientation(JProgressBar.HORIZONTAL); progressBar.setSize(200, 100); progressBar.setMinimum(0); progressBar.setMaximum(100); frame.add(progressBar); JButton btn = new JButton("Start ProgressBar"); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { new Thread(new Runnable() { @Override public void run() { for (int i = 0; i <= 10; i++) { progressBar.setValue(i * 10); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e1) { e1.printStackTrace(); } } } }).start(); } }); frame.add(btn); frame.setLocationRelativeTo(null); frame.setVisible(true); }}

你知道怎么用Swing写一个进度条

2、执行下上面的代码,看看效果

你知道怎么用Swing写一个进度条
你知道怎么用Swing写一个进度条

3、功能是有,但是有一点不好进度条上显示百分比更改下代码Code:progressBar.setStringPainted(true);

你知道怎么用Swing写一个进度条

4、执行一下看看效果进度条上已经有进度信息了OK

你知道怎么用Swing写一个进度条
你知道怎么用Swing写一个进度条

5、功能是实现了,就是感觉有点土啊使用Substance更改下皮肤更改后的代码:package chapter4;import org.jvnet.substance.skin.SubstanceAutumnLookAndFeel;import javax.swing.*;import javax.swing.plaf.metal.MetalProgressBarUI;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.concurrent.TimeUnit;/** * Created by MyWorld on 2016/3/24. */public class SwingJProgressBarDemo { public static void main(String[] args) throws UnsupportedLookAndFeelException { UIManager.setLookAndFeel(new SubstanceAutumnLookAndFeel());// JFrame.setDefaultLookAndFeelDecorated(true); SwingUtilities.invokeLater(new Runnable() { @Override public void run() { final JFrame frame = new JFrame("JProgressBarDemo"); frame.setSize(400, 200); frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new FlowLayout()); final JProgressBar progressBar = new JProgressBar(); progressBar.setOrientation(JProgressBar.HORIZONTAL); progressBar.setSize(200, 100); progressBar.setMinimum(0); progressBar.setMaximum(100); progressBar.setBorderPainted(true); progressBar.setUI(new MetalProgressBarUI()); progressBar.setBackground(Color.green); progressBar.setForeground(Color.BLUE); progressBar.setStringPainted(true); frame.add(progressBar); JButton btn = new JButton("Start ProgressBar"); btn.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { new Thread((new Runnable() { @Override public void run() { for (int i = 0; i <= 10; i++) { final int finalI = i; SwingUtilities.invokeLater(new Runnable() { @Override public void run() { progressBar.setValue(finalI * 10); } }); try { TimeUnit.SECONDS.sleep(1); } catch (InterruptedException e1) { e1.printStackTrace(); } } } })).start(); } }); frame.add(btn); frame.setVisible(true); } }); }}

你知道怎么用Swing写一个进度条
你知道怎么用Swing写一个进度条

6、执行下看看效果很OKO了

你知道怎么用Swing写一个进度条
你知道怎么用Swing写一个进度条
  • Windows server 2008如何设置允许DNS区域传送
  • C#XML格式word文档修改图片数据。
  • Scrapy CRITICAL: Unhandled error如何解决?
  • zkeys系统部署流程
  • Intellij idea插件如何实现代码结构化视图?
  • 热门搜索
    安全教育手抄报资料 读书小报手抄报图片 感恩老师的手抄报图片 治污减霾手抄报 六年级手抄报图片 感恩父母手抄报资料 唐诗宋词手抄报 小学生安全手抄报图 关于数学知识的手抄报 感恩为主题的手抄报