类似 Eclipse NetBeans Photoshop等软件,当启动软件时,先有一个启动界面。 然后启动界面关闭,出现软件UI。请达人指教。

解决方案 »

  1.   

    我用window写一个类,
    在上面绘制图形和载入图片,
    并且加入一个set_percent(int )方法来设置进程条情况
      

  2.   

    对gui我还是比较了解!!像这样的问题还是比较初级的,是初学者吧,希望你多了解面向对象的含义,如果你建立了一个gui,比如JFrame的子孙类吧,你用可以.setVisible(true)来显示,而用dispose()来关闭,当然如果是整个程序要退出用(setDefaultCloseOperation(EXIT_ON_CLOSE);)
    EG:
    Logon lo = new Logon();
    lo.setVisible(true);//显示
    lo.setDefaultCloseOperation(lo.EXIT_ON_CLOSE);// 点关闭时程序退出
      

  3.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;class SplashWindow extends JWindow implements ActionListener{
     
       JLabel back=new JLabel(new ImageIcon("back.jpg"));//显示图形的标签
       JProgressBar progressBar=new JProgressBar(1,100);//进度条
       Timer timer;
       int n=200;
       public SplashWindow(){
          setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置鼠标形状
          progressBar.setStringPainted(true);//允许进度条显示文本
          progressBar.setString("正在加载程序-----");//设置进度条文本
          getContentPane().add(back,"Center");
          getContentPane().add(progressBar,"South");
          setSize(400,300);
          toFront();
          setLocation(200,200);
          setVisible(true);
          timer=new javax.swing.Timer(100,this);
          timer.addActionListener(this);
          timer.start();
          }
       public void actionPerformed(ActionEvent e){
         if(--n>0)
         {
           progressBar.setValue(100-n);
           timer.restart();
          }
          else{
             timer.stop();
             dispose();
             Login frame=new  Login();
           
             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);
              frame.setVisible(true);
             }
           }
    public static void main(String args[]){
      new SplashWindow();
       }
    }
    能运行的,不能的加我的Q :461590749
      

  4.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;class SplashWindow extends JWindow implements ActionListener{
     
       JLabel back=new JLabel(new ImageIcon("back.jpg"));//显示图形的标签
       JProgressBar progressBar=new JProgressBar(1,100);//进度条
       Timer timer;
       int n=200;
       public SplashWindow(){
          setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置鼠标形状
          progressBar.setStringPainted(true);//允许进度条显示文本
          progressBar.setString("正在加载程序-----");//设置进度条文本
          getContentPane().add(back,"Center");
          getContentPane().add(progressBar,"South");
          setSize(400,300);
          toFront();
          setLocation(200,200);
          setVisible(true);
          timer=new javax.swing.Timer(100,this);
          timer.addActionListener(this);
          timer.start();
          }
       public void actionPerformed(ActionEvent e){
         if(--n>0)
         {
           progressBar.setValue(100-n);
           timer.restart();
          }
          else{
             timer.stop();
             dispose();
             Login frame=new  Login();//修改成自己的类,肯定能运行
           
             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);
              frame.setVisible(true);
             }
           }
    public static void main(String args[]){
      new SplashWindow();
       }
    }
      

  5.   

    哥们太热情了,偶是UI初学,自己试着实现了一个,
    import java.awt.*;import javax.imageio.ImageIO;
    import javax.swing.*;
    import java.awt.event.*;
    import java.io.File;
    import java.io.IOException;public class UnderFrame extends JFrame{

    GraphicsDevice device;

    ImageIcon icon;

    public UnderFrame()
    {
    GraphicsEnvironment environment =
                GraphicsEnvironment.getLocalGraphicsEnvironment();
            device = environment.getDefaultScreenDevice();
    }

    public static void main(String[] args)
    {
    UnderFrame uf = new UnderFrame();
    uf.setUndecorated(true);
    uf.setSize(400, 300);
    uf.setLocation(300, 300);

    MyJPanel img=new MyJPanel(); 
    uf.add(img);
    uf.setVisible(true);
    try {
    Thread.sleep(3000);
    } catch (InterruptedException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    uf.dispose();
    uf = null;
    }

    }class MyJPanel extends JPanel
    {
    private Image image;
    public MyJPanel()
    {
    // this.setBackground(Color.ORANGE);
    /*try
    {
    image = ImageIO.read(new File("/spiderman.jpg"));
    }
    catch (IOException e)
    {
    e.printStackTrace();
    }*/
    }
        public void paintComponent(Graphics g)
        {  
           super.paintComponent(g);
           g.drawString("Here", 0, 0);
           if(image == null)
            return;
           g.drawImage(image, 0, 0, null);
        }
    }
      

  6.   

    不会吧....用jdk1.6以上的版本。
    如果是jar打包
    在manifest.mf文件里加一句
    SplashScreen-Image: splash.jpg
    然后把splash.jpg打包到jar文件里。要是直接用。就看看java的参数
     -splash:<imagepath>
                   show splash screen with specified image