Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Непонятный Exception, который вылетает как хочет


Автор: soulcub 24.5.2010, 09:50
Собсно вот.. Он вылетает в буквальном смысле, когда хочет. Никакой закономерности. Делаю те же действия - его может и не быть. Иногда появляется. Может кто знает что это?

Код

Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: javax.swing.JScrollPane[,0,0,0x0,invalid,hidden,layout=javax.swing.ScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.metal.MetalBorders$ScrollPaneBorder@12b6651,flags=16777544,maximumSize=,minimumSize=,preferredSize=,columnHeader=javax.swing.JViewport[,0,0,0x0,invalid,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=false,lastPaintPosition=,scrollUnderway=false],horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=,upperLeft=,upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,invalid,layout=javax.swing.plaf.metal.MetalScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=,flags=4194632,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,0,0,0x0,invalid,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=false,lastPaintPosition=,scrollUnderway=false],viewportBorder=] is not attached to a vertical group
        at javax.swing.GroupLayout.checkComponents(GroupLayout.java:1069)
        at javax.swing.GroupLayout.prepare(GroupLayout.java:1019)
        at javax.swing.GroupLayout.layoutContainer(GroupLayout.java:889)
        at java.awt.Container.layout(Container.java:1432)
        at java.awt.Container.doLayout(Container.java:1421)
        at java.awt.Container.validateTree(Container.java:1519)
        at java.awt.Container.validateTree(Container.java:1526)
        at java.awt.Container.validateTree(Container.java:1526)
        at java.awt.Container.validate(Container.java:1491)
        at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:635)
        at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:127)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


Автор: aleksandy 24.5.2010, 10:55
А код показать?

Автор: pathfinder 24.5.2010, 12:32
javax.swing.JScrollPane is not attached to a vertical group


Код

Each Component must exist in both a horizontal and vertical group, 
otherwise an IllegalStateException  is thrown during layout,
or when the minimum, preferred or maximum size is requested. 


Перевод
Код

Каждый Компонент должен входить как в горизонтальную, 
так и в вертикальную группу, иначе будет брошено исключение IllegalStateException
во время попытки расположения компонентов(Менеджером расположения) 
или когда будет запрошены мин/макс/предпочт. размеры(все у того же Менеджера расположения)

Автор: soulcub 25.5.2010, 09:00
Хм.. Спасибо за перевод) То есть у меня где-то не установлена или вертикальная или горизонтальная группа лейаута.. Но почему ошибка выскакивает не всегда?

Автор: pathfinder 25.5.2010, 09:10
... во время попытки расположения компонентов ... или когда будут запрошены ....

Без кода можно только гадать.

Добавлено через 4 минуты и 25 секунд
Т.е. если компонент до поры до времены не видим(например если он находится в JTabedPane, или находится в за пределами видимой части JFrame(некоторые Layout-ы при нехватке места для отображения всех компонентов просто не отображают не влезающие)) то и дергать его Менеджер расположения не будет. 

Автор: soulcub 25.5.2010, 17:10
Спасибо) Ну, вообще оно не влияет на работоспособность программы... Но не приятно видеть ексепшены в консоли)

Код выкладывать не буду.. По ошибке не понятно какая часть программы ему не нравится, а выкладывать все 3000 строк.. Думаю не стоит) Но проблему я понял, когда будет время - разберусь) Перелопачу весь код)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)