Voor een project met JAVA probeer ik een SplashScreen te maken welke ook gelijk als InfoScreen(About) gebruikt kan worden.
De SplashScreen werkt prima (plaatje wordt getoond etc.) echter als ik dezelfde class nog een keer aanroep opent het plaatje niet.
Via Google kon ik geen oplossing vinden, en ik heb ook geprobeerd allebei de schermen met een ander plaatje te laten openen.
Als eerste dacht ik natuurlijk dat het plaatje niet gevonden kon worden bij de 2e aanroep, maar dan zou er een melding gegeven moeten worden lijkt mij?
Het SplashScreen wordt gemaakt met de volgende code:
Aanroep gebeurt op de volgende manier:
Vanuit de main:
Vanuit het menu:
Weet iemand misschien waar dit aan ligt, want ik ben het een beetje kwijt
De SplashScreen werkt prima (plaatje wordt getoond etc.) echter als ik dezelfde class nog een keer aanroep opent het plaatje niet.
Via Google kon ik geen oplossing vinden, en ik heb ook geprobeerd allebei de schermen met een ander plaatje te laten openen.
Als eerste dacht ik natuurlijk dat het plaatje niet gevonden kon worden bij de 2e aanroep, maar dan zou er een melding gegeven moeten worden lijkt mij?
Het SplashScreen wordt gemaakt met de volgende code:
Java: SplashScreen.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
| /** * * @param _showInfo * @param d * @param image */ public SplashScreen(boolean _showInfo, int d, ImageIcon image) { imageIcon = image; iDuration = d; showInfo = _showInfo; setSplash(); } /** * add all the components to the splash frame */ public void setSplash() { setSize(482, 428); System.out.println("ello"); JLabel lImagePanel = new JLabel(imageIcon); imagePanel.add(lImagePanel); add(imagePanel); setLocationRelativeTo(null); // Display it setVisible(true); if (!showInfo) { new ConnectSQLite("Kasboek.sqlite"); new MainFrame(true, true); } // Wait a little while loading resources try { Thread.sleep(iDuration); } catch (Exception e) { e.printStackTrace(); } // close the screen dispose(); } |
Aanroep gebeurt op de volgende manier:
Vanuit de main:
Java: SplashScreen.java
1
2
3
4
5
| SplashScreen splash = new SplashScreen( false, 2000, new ImageIcon(Main.class .getResource("/kb/view/images/splash.jpg"))); |
Vanuit het menu:
Java: SplashScreen.java
1
2
3
4
5
6
7
8
9
| if (e.getActionCommand().equals( connectXML.getName("Info", ConnectXML.BUTTON_TYPE))) { // create the splashscreen SplashScreen splash = new SplashScreen(true, 3000, new ImageIcon( this.getClass().getResource( "/kb/view/images/splash.jpg"))); } |
Weet iemand misschien waar dit aan ligt, want ik ben het een beetje kwijt
