类似 Eclipse NetBeans Photoshop等软件,当启动软件时,先有一个启动界面。 然后启动界面关闭,出现软件UI。请达人指教。
解决方案 »
- JDBC建立连接报错,IO Error: Broken pipe
- 困惑与Java序列化
- 搞不明白,关于继承方法,为何如下输出?
- MANIFEST.MF中怎样设置程序启动内存大小
- 用JAVA 如何获取硬盘 序列号
- 一个小问题.
- java如何用timer类控制每秒触发事件
- 问一个问题,一个applet的3D的分析图,如果客户要装java web start 就可以浏览,如果没有装啥都看不到
- 这个应该怎么做到?
- jdk String private final char value[] 是怎么初始化的
- java中好像有一个方法可以自动的排列数组或集合然后返回数组或集合,请问是哪个方法啊?
- jom解析'&'符号时报错
在上面绘制图形和载入图片,
并且加入一个set_percent(int )方法来设置进程条情况
EG:
Logon lo = new Logon();
lo.setVisible(true);//显示
lo.setDefaultCloseOperation(lo.EXIT_ON_CLOSE);// 点关闭时程序退出
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
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();
}
}
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);
}
}
如果是jar打包
在manifest.mf文件里加一句
SplashScreen-Image: splash.jpg
然后把splash.jpg打包到jar文件里。要是直接用。就看看java的参数
-splash:<imagepath>
show splash screen with specified image