eclipse-windowbuilder / eclipse-windowbuilder/windowbuilder
Unhandled Eventloop Exception (MacOS 14.3.1)
- Ngôn ngữ chính
- Java
- Star
- 97
- Fork
- 34
- Merge trung bình
- 21 giờ 38 phút
- Pull request đã merge (30 ngày)
- 29
Mô tả
Windowbuilder was working with this window until the last batch of changes I made to it. I get no warnings or compile errors in my project, the Windowbuilder Design tap just show up empty.
My project is opensource and after doing some digging, the error appears in this (small) commit:
https://github.com/obscurestar/choordinates/commit/10c3ec90987c35c822aa5a1f17a3f8c548a0cc9e#diff-24bc5d99104ec827f095ecd47ae668ae04b178c150fd5750a9c31aa8502f89e9L136
and appears to be related to the creation of a new public constructor in the unrelated 'ToneChord' class. (Even with the removal of 'foo' object)
Below is the stack trace from the General Error log stack trace when I click the design tab for the 'Choordinates' window in my project.
java.lang.NullPointerException: String is null
at java.desktop/sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2925)
at choordinates.FretPanel.paintComponent(FretPanel.java:273)
at java.desktop/javax.swing.JComponent.printComponent(JComponent.java:1292)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1132)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/java.awt.GraphicsCallback$PrintCallback.run(GraphicsCallback.java:50)
at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75)
at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112)
at java.desktop/java.awt.Container.print(Container.java:2060)
at java.desktop/sun.lwawt.LWComponentPeer.print(LWComponentPeer.java:807)
at java.desktop/sun.lwawt.LWContainerPeer.print(LWContainerPeer.java:276)
at java.desktop/java.awt.GraphicsCallback$PeerPrintCallback.run(GraphicsCallback.java:103)
at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75)
at java.desktop/java.awt.Component.printAll(Component.java:3534)
at org.eclipse.wb.internal.swing.utils.SwingScreenshotMaker.makeShots(SwingScreenshotMaker.java:146)
at org.eclipse.wb.internal.swing.model.component.ComponentInfo.refresh_fetch(ComponentInfo.java:156)
at org.eclipse.wb.internal.swing.model.component.ComponentInfo.refresh_fetch(ComponentInfo.java:140)
at org.eclipse.wb.internal.swing.model.component.ContainerInfo.refresh_fetch(ContainerInfo.java:258)
at org.eclipse.wb.core.model.ObjectInfo.lambda$6(ObjectInfo.java:481)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:147)
at org.eclipse.wb.core.model.ObjectInfo.lambda$5(ObjectInfo.java:480)
at org.eclipse.wb.internal.swing.utils.SwingUtils$2.run(SwingUtils.java:78)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Hướng dẫn đóng góp
Hướng nghiên cứu
Tái hiện lỗi bằng cách mở tab WindowBuilder Design của cửa sổ Choordinates, sau đó kiểm tra FretPanel.java tại dòng 273 và so sánh hành vi trước và sau commit được liên kết. Theo dõi giá trị null được stack trace của drawString báo cáo và xác định tại sao constructor ToneChord mới lại kích hoạt nó. Hoàn thành khi tab thiết kế được render mà không có ngoại lệ chưa được xử lý.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- desktop, devtools
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 30/100