Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Java GUI 设计
打印话题 寄给朋友 订阅主题 |
作者 | 进度条的问题,请大虾指教 |
ljw8080
发贴: 8 积分: 0 |
于 2005-07-01 16:40
这是一本资料上的例子。它是在打开一副图片时,下面用进度条显示速度。可结果却不是这样,进度条有显示,但和面版分开时间还有就图片无显示。大虾运行一下就知道了。 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 |
已读帖子 新的帖子 被删除的帖子 |
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 |