- 浏览: 224388 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
xiaoxiaowuxian1:
终于找到了,感谢~
大话设计模式(带目录完整版)PDF -
jiaoronggui:
一键安装,很方便
BitNami Redmine Stack -
s21109:
不错 很详细
java文件复制 -
ryanflyer:
白下了半天,无法使用
大话设计模式(带目录完整版)PDF -
xbgd:
sunwang810812 写道根本不能用啊用7z解压试试
大话设计模式(带目录完整版)PDF
JProgressBar是一个简单的组件,它一般是一种颜色部分或完全填充的矩形。缺省情况下,进度条配备了一个凹陷的边框,并水平放置。
进度条还可以选择显示一个字符串,这个字符串在进度条矩形的中央位置上显示。这个字符串缺省时为耗时任务已完成的百分比。这个字符串可用JProgressBar.setString方法定制。
当你在安装一个新软件时,系统会告知你目前软件安装的进度如何?才不会让你觉得程序好像死了,同样的,若你设计的程序所
需要的运行超过2秒以上,你应该显示程序正在运行中的图标,或直接显示程序运行的进度,这样就能让用户清楚知道程序到底是死
了还是继续运行,在swing中,JProgressBar组件提供了类似这样的功能,它可以簋简单地输出进度的变化情况,让你想要提供进度
信息时,不再需要自行绘制绘图组件,只需要使用JProgressBar再加上几行程序设置就可以了。以下是JProgressBar的范例,在此
范例中,我们使用Timer组件当作控制进度杆移动的速度,当用户按下"start"按钮,则进度杆线就会开始向右移动,并显示出目前
的进度信息。每当JProgressBar的值改变一次(利用setValue()方法),就会触发一次ChangeEvent事件,如果你要处理这个事件,
你必须实作ChangeListener界面所定义的stateChanged()方法,在此我们是将JPogressBar的移动信息放在label上。
构造函数
JProgressBar()
创建一个显示边框但不带进度字符串的水平进度条。
JProgressBar(BoundedRangeModel newModel)
创建使用指定的保存进度条数据模型的水平进度条。
JProgressBar(int orient)
创建具有指定方向(JProgressBar.VERTICAL 或 JProgressBar.HORIZONTAL)的进度条。
JProgressBar(int min, int max)
创建具有指定最小值和最大值的水平进度条。
JProgressBar(int orient, int min, int max)
创建使用指定方向、最小值和最大值的进度条。
常用方法
addChangeListener(ChangeListener l)
将指定的 ChangeListener 添加到进度条。
getMaximum()
返回进度条的最大值,该值存储在进度条的 BoundedRangeModel 中。
getMinimum()
返回进度条的最小值,该值存储在进度条的 BoundedRangeModel 中。
getModel()
返回此进度条使用的数据模型。
getString()
返回进度字符串的当前值。
getValue()
返回进度条的当前值,该值存储在进度条的 BoundedRangeModel 中。
setBorderPainted(boolean b)
设置 borderPainted 属性,如果进度条应该绘制其边框,则此属性为 true。
setMaximum(int n)
将进度条的最大值(存储在进度条的数据模型中)设置为 n。
setMinimum(int n)
将进度条的最小值(存储在进度条的数据模型中)设置为 n。
setModel(BoundedRangeModel newModel)
设置 JProgressBar 使用的数据模型。
setString(String s)
设置进度字符串的值。
setValue(int n)
将进度条的当前值(存储在进度条的数据模型中)设置为 n。
setUI(ProgressBarUI ui)
设置呈现此组件的外观对象。
例 1:向JProgressBar设置值
Java代码
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class JProgressBarSetValue extends JFrame {
JProgressBar bar = new JProgressBar();
JButton step = new JButton("Step");
public JProgressBarSetValue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
step.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int value = bar.getValue() + 7;
if (value > bar.getMaximum()) {
value = bar.getMaximum();
}
bar.setValue(value);
}
});
getContentPane().add(bar, BorderLayout.NORTH);
getContentPane().add(step, BorderLayout.EAST);
pack();
setVisible(true);
}
public static void main(String arg[]) {
new JProgressBarSetValue();
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class JProgressBarSetValue extends JFrame {
JProgressBar bar = new JProgressBar();
JButton step = new JButton("Step");
public JProgressBarSetValue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
step.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int value = bar.getValue() + 7;
if (value > bar.getMaximum()) {
value = bar.getMaximum();
}
bar.setValue(value);
}
});
getContentPane().add(bar, BorderLayout.NORTH);
getContentPane().add(step, BorderLayout.EAST);
pack();
setVisible(true);
}
public static void main(String arg[]) {
new JProgressBarSetValue();
}
}
例 2:用线程控制JProgressBar进度
Java代码
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class ProgressBarStep {
static class BarThread extends Thread {
private static int DELAY = 500;
JProgressBar progressBar;
public BarThread(JProgressBar bar) {
progressBar = bar;
}
public void run() {
int minimum = progressBar.getMinimum();
int maximum = progressBar.getMaximum();
for (int i = minimum; i < maximum; i++) {
try {
int value = progressBar.getValue();
progressBar.setValue(value + 1);
Thread.sleep(DELAY);
} catch (InterruptedException ignoredException) {
}
}
}
}
public static void main(String args[]) {
JFrame frame = new JFrame("Stepping Progress");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JProgressBar aJProgressBar = new JProgressBar(0, 50);
aJProgressBar.setStringPainted(true);
aJProgressBar.setBackground(Color.orange);
aJProgressBar.setForeground(Color.red);
final JButton aJButton = new JButton("Start");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
aJButton.setEnabled(false);
Thread stepper = new BarThread(aJProgressBar);
stepper.start();
}
};
aJButton.addActionListener(actionListener);
frame.add(aJProgressBar, BorderLayout.NORTH);
frame.add(aJButton, BorderLayout.SOUTH);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class ProgressBarStep {
static class BarThread extends Thread {
private static int DELAY = 500;
JProgressBar progressBar;
public BarThread(JProgressBar bar) {
progressBar = bar;
}
public void run() {
int minimum = progressBar.getMinimum();
int maximum = progressBar.getMaximum();
for (int i = minimum; i < maximum; i++) {
try {
int value = progressBar.getValue();
progressBar.setValue(value + 1);
Thread.sleep(DELAY);
} catch (InterruptedException ignoredException) {
}
}
}
}
public static void main(String args[]) {
JFrame frame = new JFrame("Stepping Progress");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JProgressBar aJProgressBar = new JProgressBar(0, 50);
aJProgressBar.setStringPainted(true);
aJProgressBar.setBackground(Color.orange);
aJProgressBar.setForeground(Color.red);
final JButton aJButton = new JButton("Start");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
aJButton.setEnabled(false);
Thread stepper = new BarThread(aJProgressBar);
stepper.start();
}
};
aJButton.addActionListener(actionListener);
frame.add(aJProgressBar, BorderLayout.NORTH);
frame.add(aJButton, BorderLayout.SOUTH);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
例 3:获取JProgressBar值改变状况
Java代码
import java.awt.BorderLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingWorker;
public class ProgressBarDemo2 extends JPanel implements ActionListener,
PropertyChangeListener {
private JProgressBar progressBar;
private JButton startButton;
private JTextArea taskOutput;
private Task task;
class Task extends SwingWorker<Void, Void> {
/*
* Main task. Executed in background thread.
*/
@Override
public Void doInBackground() {
Random random = new Random();
int progress = 0;
// Initialize progress property.
setProgress(0);
// Sleep for at least one second to simulate "startup".
try {
Thread.sleep(1000 + random.nextInt(2000));
} catch (InterruptedException ignore) {
}
while (progress < 100) {
// Sleep for up to one second.
try {
Thread.sleep(random.nextInt(1000));
} catch (InterruptedException ignore) {
}
// Make random progress.
progress += random.nextInt(10);
setProgress(Math.min(progress, 100));
}
return null;
}
/*
* Executed in event dispatch thread
*/
public void done() {
Toolkit.getDefaultToolkit().beep();
startButton.setEnabled(true);
taskOutput.append("Done!\n");
}
}
public ProgressBarDemo2() {
super(new BorderLayout());
// Create the demo's UI.
startButton = new JButton("Start");
startButton.setActionCommand("start");
startButton.addActionListener(this);
progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
// Call setStringPainted now so that the progress bar height
// stays the same whether or not the string is shown.
progressBar.setStringPainted(true);
taskOutput = new JTextArea(5, 20);
taskOutput.setMargin(new Insets(5, 5, 5, 5));
taskOutput.setEditable(false);
JPanel panel = new JPanel();
panel.add(startButton);
panel.add(progressBar);
add(panel, BorderLayout.PAGE_START);
add(new JScrollPane(taskOutput), BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
}
/**
* Invoked when the user presses the start button.
*/
public void actionPerformed(ActionEvent evt) {
progressBar.setIndeterminate(true);
startButton.setEnabled(false);
// Instances of javax.swing.SwingWorker are not reusuable, so
// we create new instances as needed.
task = new Task();
task.addPropertyChangeListener(this);
task.execute();
}
/**
* Invoked when task's progress property changes.
*/
public void propertyChange(PropertyChangeEvent evt) {
if ("progress" == evt.getPropertyName()) {
int progress = (Integer) evt.getNewValue();
progressBar.setIndeterminate(false);
progressBar.setValue(progress);
taskOutput.append(String.format("Completed %d%% of task.\n", progress));
}
}
/**
* Create the GUI and show it. As with all GUI code, this must run on the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
// Create and set up the window.
JFrame frame = new JFrame("ProgressBarDemo2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create and set up the content pane.
JComponent newContentPane = new ProgressBarDemo2();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);
// Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
// Schedule a job for the event-dispatching thread:
// creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
进度条还可以选择显示一个字符串,这个字符串在进度条矩形的中央位置上显示。这个字符串缺省时为耗时任务已完成的百分比。这个字符串可用JProgressBar.setString方法定制。
当你在安装一个新软件时,系统会告知你目前软件安装的进度如何?才不会让你觉得程序好像死了,同样的,若你设计的程序所
需要的运行超过2秒以上,你应该显示程序正在运行中的图标,或直接显示程序运行的进度,这样就能让用户清楚知道程序到底是死
了还是继续运行,在swing中,JProgressBar组件提供了类似这样的功能,它可以簋简单地输出进度的变化情况,让你想要提供进度
信息时,不再需要自行绘制绘图组件,只需要使用JProgressBar再加上几行程序设置就可以了。以下是JProgressBar的范例,在此
范例中,我们使用Timer组件当作控制进度杆移动的速度,当用户按下"start"按钮,则进度杆线就会开始向右移动,并显示出目前
的进度信息。每当JProgressBar的值改变一次(利用setValue()方法),就会触发一次ChangeEvent事件,如果你要处理这个事件,
你必须实作ChangeListener界面所定义的stateChanged()方法,在此我们是将JPogressBar的移动信息放在label上。
构造函数
JProgressBar()
创建一个显示边框但不带进度字符串的水平进度条。
JProgressBar(BoundedRangeModel newModel)
创建使用指定的保存进度条数据模型的水平进度条。
JProgressBar(int orient)
创建具有指定方向(JProgressBar.VERTICAL 或 JProgressBar.HORIZONTAL)的进度条。
JProgressBar(int min, int max)
创建具有指定最小值和最大值的水平进度条。
JProgressBar(int orient, int min, int max)
创建使用指定方向、最小值和最大值的进度条。
常用方法
addChangeListener(ChangeListener l)
将指定的 ChangeListener 添加到进度条。
getMaximum()
返回进度条的最大值,该值存储在进度条的 BoundedRangeModel 中。
getMinimum()
返回进度条的最小值,该值存储在进度条的 BoundedRangeModel 中。
getModel()
返回此进度条使用的数据模型。
getString()
返回进度字符串的当前值。
getValue()
返回进度条的当前值,该值存储在进度条的 BoundedRangeModel 中。
setBorderPainted(boolean b)
设置 borderPainted 属性,如果进度条应该绘制其边框,则此属性为 true。
setMaximum(int n)
将进度条的最大值(存储在进度条的数据模型中)设置为 n。
setMinimum(int n)
将进度条的最小值(存储在进度条的数据模型中)设置为 n。
setModel(BoundedRangeModel newModel)
设置 JProgressBar 使用的数据模型。
setString(String s)
设置进度字符串的值。
setValue(int n)
将进度条的当前值(存储在进度条的数据模型中)设置为 n。
setUI(ProgressBarUI ui)
设置呈现此组件的外观对象。
例 1:向JProgressBar设置值
Java代码
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class JProgressBarSetValue extends JFrame {
JProgressBar bar = new JProgressBar();
JButton step = new JButton("Step");
public JProgressBarSetValue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
step.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int value = bar.getValue() + 7;
if (value > bar.getMaximum()) {
value = bar.getMaximum();
}
bar.setValue(value);
}
});
getContentPane().add(bar, BorderLayout.NORTH);
getContentPane().add(step, BorderLayout.EAST);
pack();
setVisible(true);
}
public static void main(String arg[]) {
new JProgressBarSetValue();
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class JProgressBarSetValue extends JFrame {
JProgressBar bar = new JProgressBar();
JButton step = new JButton("Step");
public JProgressBarSetValue() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
step.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int value = bar.getValue() + 7;
if (value > bar.getMaximum()) {
value = bar.getMaximum();
}
bar.setValue(value);
}
});
getContentPane().add(bar, BorderLayout.NORTH);
getContentPane().add(step, BorderLayout.EAST);
pack();
setVisible(true);
}
public static void main(String arg[]) {
new JProgressBarSetValue();
}
}
例 2:用线程控制JProgressBar进度
Java代码
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class ProgressBarStep {
static class BarThread extends Thread {
private static int DELAY = 500;
JProgressBar progressBar;
public BarThread(JProgressBar bar) {
progressBar = bar;
}
public void run() {
int minimum = progressBar.getMinimum();
int maximum = progressBar.getMaximum();
for (int i = minimum; i < maximum; i++) {
try {
int value = progressBar.getValue();
progressBar.setValue(value + 1);
Thread.sleep(DELAY);
} catch (InterruptedException ignoredException) {
}
}
}
}
public static void main(String args[]) {
JFrame frame = new JFrame("Stepping Progress");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JProgressBar aJProgressBar = new JProgressBar(0, 50);
aJProgressBar.setStringPainted(true);
aJProgressBar.setBackground(Color.orange);
aJProgressBar.setForeground(Color.red);
final JButton aJButton = new JButton("Start");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
aJButton.setEnabled(false);
Thread stepper = new BarThread(aJProgressBar);
stepper.start();
}
};
aJButton.addActionListener(actionListener);
frame.add(aJProgressBar, BorderLayout.NORTH);
frame.add(aJButton, BorderLayout.SOUTH);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JProgressBar;
public class ProgressBarStep {
static class BarThread extends Thread {
private static int DELAY = 500;
JProgressBar progressBar;
public BarThread(JProgressBar bar) {
progressBar = bar;
}
public void run() {
int minimum = progressBar.getMinimum();
int maximum = progressBar.getMaximum();
for (int i = minimum; i < maximum; i++) {
try {
int value = progressBar.getValue();
progressBar.setValue(value + 1);
Thread.sleep(DELAY);
} catch (InterruptedException ignoredException) {
}
}
}
}
public static void main(String args[]) {
JFrame frame = new JFrame("Stepping Progress");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JProgressBar aJProgressBar = new JProgressBar(0, 50);
aJProgressBar.setStringPainted(true);
aJProgressBar.setBackground(Color.orange);
aJProgressBar.setForeground(Color.red);
final JButton aJButton = new JButton("Start");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
aJButton.setEnabled(false);
Thread stepper = new BarThread(aJProgressBar);
stepper.start();
}
};
aJButton.addActionListener(actionListener);
frame.add(aJProgressBar, BorderLayout.NORTH);
frame.add(aJButton, BorderLayout.SOUTH);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
例 3:获取JProgressBar值改变状况
Java代码
import java.awt.BorderLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingWorker;
public class ProgressBarDemo2 extends JPanel implements ActionListener,
PropertyChangeListener {
private JProgressBar progressBar;
private JButton startButton;
private JTextArea taskOutput;
private Task task;
class Task extends SwingWorker<Void, Void> {
/*
* Main task. Executed in background thread.
*/
@Override
public Void doInBackground() {
Random random = new Random();
int progress = 0;
// Initialize progress property.
setProgress(0);
// Sleep for at least one second to simulate "startup".
try {
Thread.sleep(1000 + random.nextInt(2000));
} catch (InterruptedException ignore) {
}
while (progress < 100) {
// Sleep for up to one second.
try {
Thread.sleep(random.nextInt(1000));
} catch (InterruptedException ignore) {
}
// Make random progress.
progress += random.nextInt(10);
setProgress(Math.min(progress, 100));
}
return null;
}
/*
* Executed in event dispatch thread
*/
public void done() {
Toolkit.getDefaultToolkit().beep();
startButton.setEnabled(true);
taskOutput.append("Done!\n");
}
}
public ProgressBarDemo2() {
super(new BorderLayout());
// Create the demo's UI.
startButton = new JButton("Start");
startButton.setActionCommand("start");
startButton.addActionListener(this);
progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
// Call setStringPainted now so that the progress bar height
// stays the same whether or not the string is shown.
progressBar.setStringPainted(true);
taskOutput = new JTextArea(5, 20);
taskOutput.setMargin(new Insets(5, 5, 5, 5));
taskOutput.setEditable(false);
JPanel panel = new JPanel();
panel.add(startButton);
panel.add(progressBar);
add(panel, BorderLayout.PAGE_START);
add(new JScrollPane(taskOutput), BorderLayout.CENTER);
setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
}
/**
* Invoked when the user presses the start button.
*/
public void actionPerformed(ActionEvent evt) {
progressBar.setIndeterminate(true);
startButton.setEnabled(false);
// Instances of javax.swing.SwingWorker are not reusuable, so
// we create new instances as needed.
task = new Task();
task.addPropertyChangeListener(this);
task.execute();
}
/**
* Invoked when task's progress property changes.
*/
public void propertyChange(PropertyChangeEvent evt) {
if ("progress" == evt.getPropertyName()) {
int progress = (Integer) evt.getNewValue();
progressBar.setIndeterminate(false);
progressBar.setValue(progress);
taskOutput.append(String.format("Completed %d%% of task.\n", progress));
}
}
/**
* Create the GUI and show it. As with all GUI code, this must run on the
* event-dispatching thread.
*/
private static void createAndShowGUI() {
// Create and set up the window.
JFrame frame = new JFrame("ProgressBarDemo2");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Create and set up the content pane.
JComponent newContentPane = new ProgressBarDemo2();
newContentPane.setOpaque(true); // content panes must be opaque
frame.setContentPane(newContentPane);
// Display the window.
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
// Schedule a job for the event-dispatching thread:
// creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
发表评论
-
WindowBuilder Pro
2011-06-26 22:14 2130http://www.eclipse.org/windowbu ... -
GUI框架
2011-04-26 22:55 876http://tikeswing.sourceforge.ne ... -
Java中用线程实现带有滚动效果的Label标签
2011-04-17 22:19 1556import java.awt.Graphics; impo ... -
用Swing实现的java气泡提示效果
2010-09-04 00:03 5460效果超炫,看附件截图 package monitor.ico ... -
Java Swing 进度条
2010-07-31 21:37 2120注:不是自己写的,转的。 参数Thread 就是做耗时任务的 ... -
禁用swing窗体右上角关闭按钮
2010-06-29 22:05 1724其实还可以通过评比关闭按钮的事件来达到该效果 import ... -
Java进度条JProgressBar使用方法
2010-06-03 22:05 3059Java进度条JProgressBar使用方法 packag ... -
Swing创建单选按钮
2010-04-29 23:18 31811. import javax.swing.JFram ... -
swing 单选(互斥)按钮
2010-04-29 23:18 2446package org.moon.admin; import ... -
JTextPane禁止换行的解决办法
2010-04-28 22:50 1278解决办法,重写下列方法: Java: public b ... -
Swing JTable高级使用-如何增加checkbox组件
2010-04-28 22:32 2132[url][/url] package components ... -
Swing 对JTextPane中字体颜色的设置
2010-04-09 20:52 2112import java.awt.BorderLayout; i ...
相关推荐
这篇Swing读书笔记目录旨在帮助开发者更好地理解和掌握Swing的相关知识,通过阅读和学习,可以提升在Java GUI编程上的技能。 首先,Swing是Java Foundation Classes (JFC)的一部分,它是Sun Microsystems为Java平台...
这篇博客可能详细介绍了如何在Java Swing中使用进度条以及相关组件。 首先,我们来看`ProgressBarUI`。UI(用户界面)在Java Swing中是可定制的,`ProgressBarUI`是进度条的外观和行为的实现。它是`javax.swing....
首先,我们需要导入Java Swing中的相关包,包括`javax.swing.JFrame`, `javax.swing.JPanel`, `javax.swing.JButton`, `javax.swing.JProgressBar`, `java.awt.GridBagLayout`, `java.awt.GridBagConstraints`等,...
本篇文章将深入探讨如何使用Java Swing来实现一个简单的弹球游戏。Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更丰富的组件和更现代的外观。 1. **窗体界面设计** - `JFrame`是Swing中的基本窗口类...
本篇文章将深入探讨如何使用Java中的`JProgressBar`类来创建和管理进度条。 `JProgressBar`是Java Swing库中的一个组件,属于javax.swing包。它提供了一种可视化的方式,用以展示任务完成的百分比或者进度。`...
这篇博文可能是关于如何在Java环境下,利用Swing库来构建一个用户友好的界面,实现文件的提取(如从ZIP或RAR压缩文件中)以及下载功能。 首先,我们要理解Swing是Java提供的一个用于创建桌面应用的GUI库。它包含了...
第一篇 起步篇 第1章 初识Java 3 1.1 Java简介 3 1.1.1 Java的不同平台 3 1.1.2 Java发展的历程 3 1.1.3 Java的特点 4 1.2 安装开发工具包 5 1.2.1 下载JDK 5 1.2.2 安装JDK 6 1.2.3 安装后Java...
在Java编程环境中,创建一个程序启动界面是一项基本但至关重要的任务。这不仅为用户提供了一种友好的交互方式,还能够展示应用...在开发过程中,不断优化和调试界面设计,使之既美观又实用,是提升软件质量的关键一步。
"工具"标签则暗示了进度条可能与某些开发工具或库的使用有关,例如Java的Swing、Android的ProgressBar或者是前端的JavaScript库,如jQuery UI或React。 【压缩包子文件的文件名称列表】:"WebRoot"是Web应用的标准...