Netbeans 플랫폼 위에 응용 프로그램이 내장되어 있으며 모듈 중 하나를로드하는 동안 몇 가지 검사를 수행해야합니다. 확인이 실패하여 사용자는 어떤 일이 일어나야할지 결정할 수 없습니다.모듈 복원 중 대화 상자가 표시되면 java.lang.IllegalStateException이 발생합니다. 스플래시 화면을 사용할 수 없습니다.
https://platform.netbeans.org/tutorials/60/nbm-login.html이 모듈의 설치 프로그램을 생성하고 수표 방법과 대화 상자 표시를 설치자 방법 restore()
에 입력했습니다.
public class Installer extends ModuleInstall {
@Override
public void restored() {
if (check()) {
DialogDisplayer.getDefault().notify(myDialogDescriptor);
//...
}
}
이 작동하지만 폐쇄되는 시작 화면이 발생하고 나중에 거기에 예외를 발생
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)
나는이 예외를 방지하기 위해 무엇을 할 수 있는가?
DialogDisplayer를 사용하는 대신 JDialog를 열어 보았습니까? 어쩌면 스플래시 화면이 사라질 수 있습니다. – PaL