will mason created NETBEANS-633: ----------------------------------- Summary: GUI Builder fails to load sub-panel with NLS / Respource bundle Key: NETBEANS-633 URL: https://issues.apache.org/jira/browse/NETBEANS-633 Project: NetBeans Issue Type: Bug Components: guibuilder - Binding, guibuilder - Natural Layout Affects Versions: 8.2, 9.0 Environment: Product Version: Apache NetBeans IDE Dev (Build incubator-netbeans-release-205-on-20180202) Java: 10; Java HotSpot(TM) 64-Bit Server VM 10+46 Runtime: Java(TM) SE Runtime Environment 10+46 System: Windows 10 version 10.0 running on amd64; Cp1252; en_AU (nb) User directory: Z:\tmp\.other\user\netbeans\v09.00-beta\FourAbs Cache directory: Z:\tmp\.other\cache\netbeans\FourAbs-09 Reporter: will mason Attachments: image-2018-04-10-10-32-31-818.png
h2. expected * To be able to view and edit parent JPanel screen in Netbeans GUI Builder. * This should be possible no matter what the sub-panels do * If/when a resource is missing or unresolved some kind of place holder can be used h2. actual * We have several GUI JPanel-s which act as containers for a "details" screen, sub-panel layouts. * In one of the sub-panels we introduced a resource bundle to display options for check-boxes.. * This details screen works as a sub-panel at run-time. * This details screen works as in the GUI designer/builder fine. * However whenever we load the parent panel, the container it fails with a *{{MissingResourceException}}*. !image-2018-04-10-10-32-31-818.png! * This is somewhat of a SHOW STOPPER as far as internationalisation goes for reusable GUI components I'm afraid. * The situation is quite mysterious as well since the Resource file is found, loaded and displayed by the detail JPanel screen which is IN THE SAME java Package at runtime and design time. * The resource bundle itself is in the {{resources/bundles}} folder of common library (Gradle directory layout) and is "fixed" so to speak at design time. * I believe there is some fundamental flaw here because you must have parents able to load sub-components with or without any resource strings. h2. supporting information {noformat} --[ *stacktrace* ]-- java.util.MissingResourceException: Can't find bundle for base name bundles/SpaAssurancesText, locale en_AU at java.base/java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:2055) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1689) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1593) at java.base/java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1556) at java.base/java.util.ResourceBundle.getBundle(ResourceBundle.java:857) at au.com.fourtel.fourabs.client.spas.JPanelSpaDetails.initComponents(JPanelSpaDetails.java:1608) at au.com.fourtel.fourabs.client.spas.JPanelSpaDetails.<init>(JPanelSpaDetails.java:148) at au.com.fourtel.fourabs.client.spas.JPanelSpaDetails.<init>(JPanelSpaDetails.java:141) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488) at java.base/java.lang.Class.newInstance(Class.java:560) at org.netbeans.modules.form.CreationFactory.createDefaultInstance(CreationFactory.java:155) at org.netbeans.modules.form.RADComponent.createBeanInstance(RADComponent.java:227) at org.netbeans.modules.form.RADComponent.initInstance(RADComponent.java:166) at org.netbeans.modules.form.GandalfPersistenceManager.restoreComponent(GandalfPersistenceManager.java:755) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:943) at org.netbeans.modules.form.GandalfPersistenceManager.restoreComponent(GandalfPersistenceManager.java:799) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:943) at org.netbeans.modules.form.GandalfPersistenceManager.restoreComponent(GandalfPersistenceManager.java:799) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:943) at org.netbeans.modules.form.GandalfPersistenceManager.loadForm(GandalfPersistenceManager.java:478) at org.netbeans.modules.form.GandalfPersistenceManager.loadForm(GandalfPersistenceManager.java:258) at org.netbeans.modules.form.FormEditor$2.run(FormEditor.java:327) at org.netbeans.modules.form.FormLAF$2.run(FormLAF.java:268) at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:115) at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:75) at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:71) at org.openide.util.Mutex.readAccess(Mutex.java:225) at org.netbeans.modules.form.FormLAF.executeWithLookAndFeel(FormLAF.java:251) at org.netbeans.modules.form.FormEditor.loadFormData(FormEditor.java:324) at org.netbeans.modules.nbform.FormEditorSupport.loadOpeningForm(FormEditorSupport.java:436) at org.netbeans.modules.nbform.FormDesignerTC.loadForm(FormDesignerTC.java:256) at org.netbeans.modules.nbform.FormDesignerTC.access$300(FormDesignerTC.java:64) at org.netbeans.modules.nbform.FormDesignerTC$PreLoadTask$1.run(FormDesignerTC.java:245) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) 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) java.io.IOException: Undefined component referenced in layout: jPanelSpaDetails at org.netbeans.modules.form.layoutdesign.LayoutPersistenceManager.correctMissingName(LayoutPersistenceManager.java:712) at org.netbeans.modules.form.layoutdesign.LayoutPersistenceManager.loadLayout(LayoutPersistenceManager.java:388) at org.netbeans.modules.form.layoutdesign.LayoutPersistenceManager.loadContainer(LayoutPersistenceManager.java:354) at org.netbeans.modules.form.layoutdesign.LayoutModel.loadContainerLayout(LayoutModel.java:1206) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:973) at org.netbeans.modules.form.GandalfPersistenceManager.restoreComponent(GandalfPersistenceManager.java:799) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:943) at org.netbeans.modules.form.GandalfPersistenceManager.restoreComponent(GandalfPersistenceManager.java:799) at org.netbeans.modules.form.GandalfPersistenceManager.loadComponent(GandalfPersistenceManager.java:943) at org.netbeans.modules.form.GandalfPersistenceManager.loadForm(GandalfPersistenceManager.java:478) at org.netbeans.modules.form.GandalfPersistenceManager.loadForm(GandalfPersistenceManager.java:258) at org.netbeans.modules.form.FormEditor$2.run(FormEditor.java:327) at org.netbeans.modules.form.FormLAF$2.run(FormLAF.java:268) at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.doEventAccess(NbMutexEventProvider.java:115) at org.netbeans.modules.openide.util.NbMutexEventProvider$Event.readAccess(NbMutexEventProvider.java:75) at org.netbeans.modules.openide.util.LazyMutexImplementation.readAccess(LazyMutexImplementation.java:71) at org.openide.util.Mutex.readAccess(Mutex.java:225) at org.netbeans.modules.form.FormLAF.executeWithLookAndFeel(FormLAF.java:251) at org.netbeans.modules.form.FormEditor.loadFormData(FormEditor.java:324) at org.netbeans.modules.nbform.FormEditorSupport.loadOpeningForm(FormEditorSupport.java:436) at org.netbeans.modules.nbform.FormDesignerTC.loadForm(FormDesignerTC.java:256) at org.netbeans.modules.nbform.FormDesignerTC.access$300(FormDesignerTC.java:64) at org.netbeans.modules.nbform.FormDesignerTC$PreLoadTask$1.run(FormDesignerTC.java:245) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue.access$600(EventQueue.java:97) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136) 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) {noformat} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists