welcomwindow.java

来自「软件工程实践课程的答案哦」· Java 代码 · 共 97 行

JAVA
97
字号
/*
 * WelcomWindow.java
 *
 * Created on 2006年4月27日, 下午10:52
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

import javax.swing.*;
import java.awt.*;
import java.net.*;
class WelcomeWindow extends JWindow implements Runnable{
    
    private Thread thread=null;
    private JProgressBar progress;
    private JFrame frame;
    /** Creates a new instance of WelcomWindow */
    public WelcomeWindow() {
        this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
        JPanel panel=new JPanel(new BorderLayout());
        URL url=this.getClass().getResource("/welcome.gif");
        
        if(url !=null) {
            panel.add(new JLabel(new ImageIcon(url)),BorderLayout.CENTER);
        }
        
        progress=new JProgressBar(1,100);
        progress.setStringPainted(true);
        progress.setBorderPainted(true);
        progress.setString("Game is starting up...");
        progress.setBackground(Color.white);
        panel.add(progress,BorderLayout.SOUTH);
        
        this.setContentPane(panel);
        
        Dimension screen=this.getToolkit().getScreenSize();
        this.pack();
        this.setLocation((screen.width-getSize().width)/2,(screen.height-getSize().height)/2);
    }
    
    public void start() {
        this.toFront();
        thread=new Thread(this);
        thread.start();
    }
    
    public void run() {
        this.setVisible(true);
        try{
            for(int i=0;i<100;i++) {
                Thread.sleep(25);
                progress.setValue(progress.getValue()+1);
            }
        }catch(Exception e) {
            e.printStackTrace();
        }
        
        this.dispose();
    }
    
    
   public  void showFrame(JFrame frame) {
       	this.frame=frame;
        
        
        Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
        Dimension frameSize=frame.getSize();
        if(frameSize.height>screenSize.height) {
            frameSize.height=screenSize.height;
        }
        if(frameSize.width>screenSize.width) {
            frameSize.width=screenSize.width;
        }
        
        frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
        
        try{
            Thread.sleep(2500);
        }catch(Exception ex) {
            ex.printStackTrace();
        }
        
        frame.setVisible(true);
    }
    
    
    public static void main(String args[]) {
        WelcomeWindow welcome=new WelcomeWindow();
        welcome.start();
        ChooseFrame chooseFrame=new ChooseFrame();
        welcome.showFrame(chooseFrame);
       
    }
    
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?