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

Reply via email to