手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

你知道怎么用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写一个进度条
© 手抄报圈