Jdialog зависает

Мое приложение зависает и выдает следующую ошибку, я буду благодарен, если вы поможете мне, поскольку она не интерпретируется и не повторяется бесчисленное количество раз.

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
    at java.security.AccessController.doPrivileged(Native Method)   at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.SentEvent.dispatch(SentEvent.java:70)  at
java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:239)
    at
java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:266)
    at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:493)
    at java.awt.Component.dispatchEventImpl(Component.java:4760)    at
java.awt.Container.dispatchEventImpl(Container.java:2297)   at
java.awt.Window.dispatchEventImpl(Window.java:2746)     at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  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:74)
    at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)   at
java.awt.EventQueue$4.run(EventQueue.java:731)  at
java.security.AccessController.doPrivileged(Native Method)  at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.SentEvent.dispatch(SentEvent.java:70)  at
java.awt.DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent.dispatch(DefaultKeyboardFocusManager.java:239)
    at
java.awt.DefaultKeyboardFocusManager.sendMessage(DefaultKeyboardFocusManager.java:266)
    at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:388)
    at java.awt.Component.dispatchEventImpl(Component.java:4760)    at
java.awt.Container.dispatchEventImpl(Container.java:2297)   at
java.awt.Window.dispatchEventImpl(Window.java:2746)     at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  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:74)
    at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)   at
java.awt.EventQueue$4.run(EventQueue.java:731)  at
java.security.AccessController.doPrivileged(Native Method)  at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.SequencedEvent.dispatch(SequencedEvent.java:128)   at
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)  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:74)
    at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)   at
java.awt.EventQueue$4.run(EventQueue.java:731)  at
java.security.AccessController.doPrivileged(Native Method)  at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
    at java.security.AccessController.doPrivileged(Native Method)   at
java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)    at
java.awt.Dialog.show(Dialog.java:1084)  at
java.awt.Component.show(Component.java:1671)    at
java.awt.Component.setVisible(Component.java:1623)  at
java.awt.Window.setVisible(Window.java:1014)    at
java.awt.Dialog.setVisible(Dialog.java:1005)    at
com.restaurant.views.login.jButton1ActionPerformed(login.java:523)  at
com.restaurant.views.login.access$000(login.java:34)    at
com.restaurant.views.login$1.actionPerformed(login.java:169)    at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)    at
javax.swing.JComponent.processMouseEvent(JComponent.java:3324)  at
java.awt.Component.processEvent(Component.java:6304)    at
java.awt.Container.processEvent(Container.java:2239)    at
java.awt.Component.dispatchEventImpl(Component.java:4889)   at
java.awt.Container.dispatchEventImpl(Container.java:2297)   at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)    at
java.awt.Window.dispatchEventImpl(Window.java:2746)     at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  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:74)
    at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)   at
java.awt.EventQueue$4.run(EventQueue.java:731)  at
java.security.AccessController.doPrivileged(Native Method)  at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
    at java.security.AccessController.doPrivileged(Native Method)   at
java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)    at
java.awt.Dialog.show(Dialog.java:1084)  at
java.awt.Component.show(Component.java:1671)    at
java.awt.Component.setVisible(Component.java:1623)  at
java.awt.Window.setVisible(Window.java:1014)    at
java.awt.Dialog.setVisible(Dialog.java:1005)    at
com.restaurant.views.welcome.login(welcome.java:83)     at
com.restaurant.views.Main.jButton10ActionPerformed(Main.java:1044)  at
com.restaurant.views.Main.access$1000(Main.java:46)     at
com.restaurant.views.Main$11.actionPerformed(Main.java:869)     at
javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
    at
javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
    at
javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
    at
javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
    at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
    at java.awt.Component.processMouseEvent(Component.java:6539)    at
javax.swing.JComponent.processMouseEvent(JComponent.java:3324)  at
java.awt.Component.processEvent(Component.java:6304)    at
java.awt.Container.processEvent(Container.java:2239)    at
java.awt.Component.dispatchEventImpl(Component.java:4889)   at
java.awt.Container.dispatchEventImpl(Container.java:2297)   at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
    at
java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
    at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
    at java.awt.Container.dispatchEventImpl(Container.java:2283)    at
java.awt.Window.dispatchEventImpl(Window.java:2746)     at
java.awt.Component.dispatchEvent(Component.java:4711)   at
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)  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:74)
    at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
    at java.awt.EventQueue$4.run(EventQueue.java:733)   at
java.awt.EventQueue$4.run(EventQueue.java:731)  at
java.security.AccessController.doPrivileged(Native Method)  at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)   at
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
    at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
    at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
    at java.security.AccessController.doPrivileged(Native Method)   at
java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)    at
java.awt.Dialog.show(Dialog.java:1084)  at
java.awt.Component.show(Component.java:1671)    at
java.awt.Component.setVisible(Component.java:1623)  at
java.awt.Window.setVisible(Window.java:1014)    at
java.awt.Dialog.setVisible(Dialog.java:1005)

Трудно сказать, не видя вашего кода, но, основываясь на ошибке java.lang.StackOverflowError at , я бы предположил, что он вызывает сам себя.

Scary Wombat 26.10.2018 08:35

Это часть кода this.dispose (); Main mainForm = new Main (новый javax.swing.JDialog (), true); mainForm.setVisible (правда);

Manuel Ramírez 26.10.2018 08:47

Вам нужно нажимать кнопку несколько раз, чтобы получить эту ошибку. Кажется, есть щелчок по кнопке, которая вызывает login(), который устанавливает видимый модальный диалог. Это тот же самый экземпляр диалога или одно и то же событие, которое несколько раз отправляется.

Tom Hawtin - tackline 26.10.2018 08:49

спасибо за ответ, главное окно - фрейм (Welcome) и откройте первый jdialog (Login) методом welcome.login (); первый jdialog (Login) имеет кнопку, которая закрывает текущий (Login) jdialog и открывает второй jdialog (Main): this.dispose (); Main mainForm = new Main (новый javax.swing.JDialog (), true); mainForm.setVisible (правда); второй jdialog (Main) также имеет кнопку для закрытия текущего jdialog (Main) и открытия первого (Login) this.dispose (); Welcome.login ();

Manuel Ramírez 26.10.2018 09:01

Информация, которую вы разместили, не дает нам ни малейшего намека на то, что в вашем коде не так. Поэтому, если вы хотите получить ответ, предоставьте свой код в форме минимальный воспроизводимый пример, чтобы мы могли увидеть причину вашей проблемы и разработать решение.

Sergiy Medvynskyy 26.10.2018 10:55
0
5
196
1

Ответы 1

Я решил проблему, это было то, что первый jdialog открыл второй jdialog и закрыл первый с помощью кода, который я добавил, после того, как я сделал то, что я должен был сделать во втором, закрыл это сам событием, которое содержало, я думаю, я добавил, чтобы снова открыть первую. Спустя много раз я попадал в ошибку переполнения.

Я решил это, не закрывая первый jdialog во время открытия второго jdialog, а затем, когда мне не понадобился второй jdialog, я просто закрыл его, и у меня был первый.

Спасибо всем за вашу огромную помощь.

Другие вопросы по теме