0 0

求 JAVA swing 类似进度条的实现3

一Jframe 的登录窗口,输入用户名和密码,进行登录,如何实现,一个提示框或进度条提示,“当前正在登录,请稍后...”,当登录完成后,自动关闭次提示框或进度条。

由于很多地方都会用到这样的提示框或进度条,比如,在查询数据库表记录是,也可提示此信息框,

主要是当前一个线程(界面主线程),如何实现当这个主线程等待时(比如说当前在查询数据库表记录),如何实现这个进度条或提示框不和主线程同时卡住(等待或阻塞),提示实在进行操作。

问题补充:
dingjunfeng 写道
最后一段话,没明白你是什么意思。

如果你想实现进度条的话,
Swing有javax.swing.JProgressBar进度条控件。

如果要让其动作起来,需要用线程进行进度增长控制。




主要是 多线程不是很熟, 想要一个   点击frame界面上的一个按钮 “查询”,在等待查询的这段时间(假如数据量很大),希望是 弹出一个进度条来提示(左右摆动的), 让用户体验到,界面不是在那卡死了,等查询的数据请求完毕后,这个提示的进度条自动关闭。

能整一个例子看看吗,谢谢了
2011年12月10日 11:29
  • 描述: 类似这样的效果,登录等待,登录成功后,将这个消息框自动关闭
  • 大小: 95.1 KB

2个答案 按时间排序 按投票排序

0 0

import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JProgressBar;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class T extends JFrame {
public T() {
getContentPane().setLayout(null);

JButton btnTest = new JButton("Test");
btnTest.addActionListener(new ActionListener() {
JProgressBar comp = new JProgressBar();
int value = 0;
JDialog dialog = new JDialog();

public void actionPerformed(ActionEvent e) {

dialog.add(comp);
dialog.setModal(true);
dialog.setSize(150, 80);
dialog.setLocationRelativeTo(getContentPane());
new Thread() {
public void run() {
while (true) {
try {
comp.setValue(value++);
if (value == comp.getMaximum()) {
dialog.setVisible(false);
}
sleep(50);
} catch (Exception e) {

}
}
}
}.start();
dialog.setVisible(true);
}
});
btnTest.setBounds(27, 26, 91, 21);
getContentPane().add(btnTest);

setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setSize(200, 120);
setResizable(false);
setVisible(true);
}

public static void main(String[] args) {
new T();
}
}


给你一个例子。
注意这一句
dialog.setVisible(true);
因为
dialog是模态的,如果先启动了会阻截其它线程,所以要让控制进度条的线程先启动。

如果你想要左右动的效果,
一个是自己来控制进度条。
另一个就是在dialog上放一个gif图片(这个是比较常用的,要不然进度数不好控制。)

2011年12月22日 17:51
0 0

最后一段话,没明白你是什么意思。

如果你想实现进度条的话,
Swing有javax.swing.JProgressBar进度条控件。

如果要让其动作起来,需要用线程进行进度增长控制。

2011年12月15日 17:20

相关推荐

    跟我学JavaSwing之游戏设计.doc

    跟我学Java Swing之游戏设计 一 谁知道通天的巴比伦塔耗费了多少沙石?又有谁知道罗马的建成经历了多少个日夜?我 们惟一知道的是,没有一块块砖石的垒砌,就没有蜿蜒万里的长城;没有巨石和黏土的堆 集,就没有亘古...

    进度条:使用 Swing GUI 类 JProgressBar 的优雅且易于使用的进度条对话框。-matlab开发

    在程序风格中,函数waitdialog 封装了Java Swing GUI 类JProgressBar 以增强视觉体验,但在功能上类似于内置函数waitbar。 在面向对象的风格中,ProgressDialog 是一个类,它封装了使用 waitdialog 函数创建的...

    JAVA上百实例源码以及开源项目

    java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...

    JAVA上百实例源码以及开源项目源代码

    java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥  Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(key...

    java开源包4

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包3

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包101

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包11

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包6

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包9

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包8

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包10

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包5

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包1

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包2

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    java开源包7

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    Java资源包01

    JCalendarButton是一个简单的java swing日历选择控件。它能够在日期输入框后面弹出一个日历。 网页搜索爬虫 BlueLeech BlueLeech是一个开源程序,它从指定的URL开始,搜索所有可用的链接,以及链接之上的链接。它在...

    AWT基础知识

    为了实现Java语言所宣称的"一次编译,到处运行"的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其...

Global site tag (gtag.js) - Google Analytics