S
sehams
Gast
Hiho,
Erstmal vorweg: Ich bin in Sachen Java ein absoluter Frischling. Bin gerade dabei ein bisschen herumzuprobieren.
Der folgende Code funktioniert einwandfrei:
Versuche ich allerdings über mein GUI den Splashscreen mittels ActionListener auszulösen wird er mir zwar angezeigt, aber das JWindow bleibt leer, das heisst ich sehe mein Bild nicht und das ohne eine Fehlermeldung zu bekommen.
Ich bin mir ziemlich sicher hierbei etwas fundamentales zu übersehen, komme aber nicht auf die Lösung. WÜrde mich freuen wenn mir hier einer helfen könnte!
MfG
Erstmal vorweg: Ich bin in Sachen Java ein absoluter Frischling. Bin gerade dabei ein bisschen herumzuprobieren.
Der folgende Code funktioniert einwandfrei:
Java:
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.border.MatteBorder;
public class Main {
public static void main (String[] args) {
String path = "/home/bici/Splash.png";
File file = new File(path);
BufferedImage image = null;
try {
image = ImageIO.read(file);
} catch (IOException e) {
e.printStackTrace();
}
JLabel label = new JLabel(new ImageIcon(image));
JWindow splash = new JWindow();
splash.getRootPane().setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
splash.setSize(400, 230);
splash.getContentPane().add(label);
splash.setVisible(true);
splash.setLocationRelativeTo(null);
try {
Thread.sleep(3500);
} catch (InterruptedException e) {
e.printStackTrace();
}
splash.dispose();
}
}
Versuche ich allerdings über mein GUI den Splashscreen mittels ActionListener auszulösen wird er mir zwar angezeigt, aber das JWindow bleibt leer, das heisst ich sehe mein Bild nicht und das ohne eine Fehlermeldung zu bekommen.
Java:
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JWindow;
import javax.swing.border.MatteBorder;
public class InfoListener extends Main implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
String path = "/home/bici/Splash.png";
File file = new File(path);
BufferedImage image = null;
try {
image = ImageIO.read(file);
} catch (IOException e) {
e.printStackTrace();
}
JLabel label = new JLabel(new ImageIcon(image));
JWindow splash = new JWindow();
splash.getRootPane().setBorder(new MatteBorder(1, 1, 1, 1, Color.BLACK));
splash.setSize(400, 230);
splash.getContentPane().add(label);
splash.setVisible(true);
splash.setLocationRelativeTo(null);
try {
Thread.sleep(3500);
} catch (InterruptedException e) {
e.printStackTrace();
}
splash.dispose();
}
}
MfG