Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Java GUI 设计  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 进度条的问题,请大虾指教
ljw8080





发贴: 8
积分: 0
于 2005-07-01 16:40 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
这是一本资料上的例子。它是在打开一副图片时,下面用进度条显示速度。可结果却不是这样,进度条有显示,但和面版分开时间还有就图片无显示。大虾运行一下就知道了。

import javax.swing.*;
import java.awt.*;
//import java.awt.event.*;
import java.net.*;

public class JSplashWindowEx extends JWindow implements Runnable{
   Thread splashThread=null;
   private JProgressBar progress;
   public JSplashWindowEx() {
   setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
   JPanel splash=new JPanel(new BorderLayout());
   URL url=getClass().getResource("/winter.jpg");//返回一个对象的运行时间类
   if(url!=null){
   splash.add(new JButton(new ImageIcon(url)),BorderLayout.CENTER);
       }
   progress=new JProgressBar(1,100);
   progress.setStringPainted(true);  
   progress.setBorderPainted(false);
   progress.setString("Program is Nwe Loading........");
   progress.setBackground(Color.white);
   splash.add(progress,BorderLayout.SOUTH);
   setContentPane(splash);
   Dimension screen=getToolkit().getScreenSize();
   pack();//按首选尺寸放置该窗口子组件。
   setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);
     }
     public void start(){
       this.toFront();//将该窗口放到前面
       splashThread=new Thread(this);
       splashThread.start();
       }
     public void run(){
       show();
       try{
         for(int i=0;i<100;i++)
         {
       Thread.sleep(100);
       progress.setValue(progress.getValue()+1);  
         }
       }
       catch(Exception ex){
           ex.printStackTrace();
           }
       dispose();
       }
       static void showFrame(String title){
       JFrame frame=new JFrame(title);
       frame.setSize(640,480);
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
         Dimension frameSize=frame.getSize();
         if(frameSize.height>screenSize.height){
         frameSize.height=screenSize.height;
           }
   if(frameSize.width>screenSize.width){
   rameSize.width=screenSize.width;}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-
   frameSize.height)/2);//将这个组件移动到新位置
     try{Thread.sleep(10000);
     }
     catch(Exception ex) {
         ex.printStackTrace();
         }
         frame.setVisible(true);
       }      

public static void main(String[] args){
  JSplashWindowEx splash=new JSplashWindowEx();
  splash.start();
  showFrame("Splash window demo");
  }           
  }




JAVA学习日子分享

话题树型展开
人气 标题 作者 字数 发贴时间
3612 进度条的问题,请大虾指教 ljw8080 2446 2005-07-01 16:40
2748 Re:进度条的问题,请大虾指教 ljw8080 11 2005-07-03 15:02

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923