Ich habe Anwendung auf Netbeans Platform gebaut und ich muss einige Prüfungen während des Ladens eines der Module und ein Dialogfeld, wenn einige der check lässt den Benutzer nicht entscheiden, was passieren soll.Anzeige Dialog während der Wiederherstellung des Moduls verursacht java.lang.IllegalStateException: keine Splash-Screen verfügbar
Insipired von diesem Tutorial https://platform.netbeans.org/tutorials/60/nbm-login.html Ich erstellte Installer für das Modul und legte die Überprüfungen und die Dialoganzeige auf die Installer-Methode restore()
.
public class Installer extends ModuleInstall {
@Override
public void restored() {
if (check()) {
DialogDisplayer.getDefault().notify(myDialogDescriptor);
//...
}
}
Dies funktioniert aber bewirkt, dass der Splash-Screen geschlossen und es später zu tritt eine Ausnahme
java.lang.IllegalStateException: no splash screen available
at java.awt.SplashScreen.checkVisible(SplashScreen.java:197)
at java.awt.SplashScreen.update(SplashScreen.java:324)
at org.netbeans.core.startup.Splash$SplashPainter.repaint(Splash.java:401)
at org.netbeans.core.startup.Splash$SplashPainter$1.run(Splash.java:442)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Was kann ich tun, um diese Ausnahme zu verhindern?
Haben Sie versucht, einen JDialog anstelle von DialogDisplayer zu öffnen. Vielleicht führt das dazu, dass der Begrüßungsbildschirm verschwindet. – PaL