社区
Java SE
帖子详情
如何制作进度条?
heeppy
2005-11-20 03:06:46
意思是当在读文件太大时,能跳出一个对话框来显示读的进度,能给个大概的例子吗?我是JDK1.5的.
...全文
707
7
打赏
收藏
如何制作进度条?
意思是当在读文件太大时,能跳出一个对话框来显示读的进度,能给个大概的例子吗?我是JDK1.5的.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gtlang78
2005-11-21
打赏
举报
回复
http://www.jroller.com/page/santhosh?entry=show_progress_in_modal_dialog
didoleo
2005-11-21
打赏
举报
回复
楼主大哥,你没看我的代码吧,
pMonitor.setMillisToDecideToPopup(10);
改成pMonitor.setMillisToDecideToPopup(0);
那么再小的文件也会有进成条出来的.
江南编程浪子
2005-11-21
打赏
举报
回复
楼主,根据你说的现象,
问题的原因是:
修改进度条进度的操作必须是单独一个线程(独立于jdialog!)
也就是说你需要建立一个线程(不是JDialog)去读文件修改进度条
heeppy
2005-11-21
打赏
举报
回复
didoleo(冷月无声) ,不好意思,真是没看清楚,我试下,谢了!
heeppy
2005-11-21
打赏
举报
回复
多谢楼上的,这个我试过了,这个必须是大的文件才会显示进度条,我需要的是无论大小
文件都能显示的方法.能用线程度产生一个JDialog,在这个上面添加进度条,再由读文件
的线程必变进度条值,但我使用后总是可以弹出窗口,但我加在上面的进度条和按钮,总是在读
文件完成后才出现,在读的时候只有对话框,而上面什么都看不到.有什么方法能解决吗?
didoleo
2005-11-20
打赏
举报
回复
//给你一个玩玩,这个是读一大的文本文件,并可以显示给你看,同时有进程条出来。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class DidoleoPM implements ActionListener,Runnable{
JFrame f=null;
JLabel label=null;
JTextArea textarea=null;
JFileChooser fileChooser=null;
public DidoleoPM(){
f=new JFrame("");
Container contentPane=f.getContentPane();
textarea=new JTextArea();
JScrollPane scrollPane=new JScrollPane(textarea);
scrollPane.setPreferredSize(new Dimension(350,350));
JButton b=new JButton("读取文件");
b.addActionListener(this);
label=new JLabel("",JLabel.CENTER);
fileChooser=new JFileChooser();
contentPane.add(label,BorderLayout.NORTH);
contentPane.add(scrollPane,BorderLayout.CENTER);
contentPane.add(b,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);
}
public static void main(String[] args){
new DidoleoPM();
}
Thread athread;
public void actionPerformed(ActionEvent e){
athread=new Thread(this);
athread.start();
}
public void run(){
File file=null;
int result=fileChooser.showOpenDialog(f);
textarea.setText("");
if(result==JFileChooser.APPROVE_OPTION){
file=fileChooser.getSelectedFile();
label.setText("你选择的文件名称为"+file.getName());
}else if(result==JFileChooser.CANCEL_OPTION){
label.setText("你还没有选择任何文件");
}
FileInputStream inputStream=null;
if(file!=null){
try{
inputStream=new FileInputStream(file);
}catch(FileNotFoundException fe){
label.setText("file not found");
return;
}
}
ProgressMonitorInputStream pmInputStream=new
ProgressMonitorInputStream(f,"get file...",inputStream);
ProgressMonitor pMonitor=
pmInputStream.getProgressMonitor();
pMonitor.setMillisToDecideToPopup(10);
pMonitor.setMillisToPopup(0);
int readbyte;
try{
while((readbyte=pmInputStream.read())!=-1){
textarea.append(String.valueOf((char) readbyte));
try{
Thread.sleep(10);
}catch(InterruptedException ie){
}
if(pMonitor.isCanceled()){
textarea.append("\n\n读取文件中断");
}
}
}catch(IOException ioe){
label.setText("读取文件错误");
}finally{
try{
if(pmInputStream!=null){
pmInputStream.close();
}
}catch(IOException ioe2){
}
}
}
}
Kingxinyu
2005-11-20
打赏
举报
回复
mark
JavaScript
制作
进度条
实例
JavaScript
制作
进度条
实例JavaScript
制作
进度条
实例JavaScript
制作
进度条
实例JavaScript
制作
进度条
实例JavaScript
制作
进度条
实例JavaScript
制作
进度条
实例
易语言标签
制作
进度条
易语言标签
制作
进度条
源码,标签
制作
进度条
,复制状态,复制
VB
制作
进度条
VB
制作
进度条
VB
制作
进度条
VB
制作
进度条
进度条
制作
进度条
制作
进度条
2
进度条
2
进度条
2
进度条
2
进度条
2
js原声
制作
进度条
原声js
制作
简单的
进度条
Java SE
62,614
社区成员
307,319
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章