Hallo,
ich wollte ein SplashScreen für mein Programm haben. Nachdem ich mir dieses Thema hier durchgelese habe ich mir ein eigenen SplashScreen gemacht. Funktioniert soweit gut! Was ich gern noch haben würde, ist das in der Taskleiste kein Task für den SplashScreen erscheint, sondern erst dann wenn der SplashScreen verschwindet und die Anwendung startet!
Mein Code sieht so aus:
Das was in der main-Methode steht, wird von der anderen Anwendung aufgerufen. Ich will solange ein SplashScreen da ist, das in der Taskleiste kein Task angezeigt wird. Ausserdem wollte ich mal wissen, ist es Sinnvoll ind er display-Methode nach dispose(); noch System.exit(); aufzurufen oder langt das dispose()?
Gruß
ich wollte ein SplashScreen für mein Programm haben. Nachdem ich mir dieses Thema hier durchgelese habe ich mir ein eigenen SplashScreen gemacht. Funktioniert soweit gut! Was ich gern noch haben würde, ist das in der Taskleiste kein Task für den SplashScreen erscheint, sondern erst dann wenn der SplashScreen verschwindet und die Anwendung startet!
Mein Code sieht so aus:
Java:
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
public class SplashScreen extends JFrame {
private static final long serialVersionUID = 1L;
private Image image;
public static void main(String[] args) {
SplashScreen splash = new SplashScreen("splash.gif");
splash.display(3000);
}
public SplashScreen(String src) {
super();
image = new ImageIcon(src).getImage();
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - image.getWidth(null)) / 2;
int y = (d.height - image.getHeight(null)) / 2;
setLocation(x, y);
setSize(image.getWidth(null), image.getHeight(null));
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setUndecorated(true);
setAlwaysOnTop(true);
}
public void display(long sleep) {
setVisible(true);
try {
Thread.sleep(sleep);
} catch (InterruptedException e) {
this.dispose();
}
this.dispose();
}
public void paint(Graphics g) {
super.paint(g);
g.drawImage(image, 0, 0, this);
}
}
Das was in der main-Methode steht, wird von der anderen Anwendung aufgerufen. Ich will solange ein SplashScreen da ist, das in der Taskleiste kein Task angezeigt wird. Ausserdem wollte ich mal wissen, ist es Sinnvoll ind er display-Methode nach dispose(); noch System.exit(); aufzurufen oder langt das dispose()?
Gruß