You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "Neil C Smith (Jira)" <ji...@apache.org> on 2022/05/27 18:44:00 UTC

[jira] [Closed] (NETBEANS-6471) Border Customizer / border properties and auto-generated code missing

     [ https://issues.apache.org/jira/browse/NETBEANS-6471?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neil C Smith closed NETBEANS-6471.
----------------------------------
    Resolution: Invalid

https://issues.apache.org/jira/projects/NETBEANS/issues/NETBEANS-6470

> Border Customizer / border properties and auto-generated code missing 
> ----------------------------------------------------------------------
>
>                 Key: NETBEANS-6471
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-6471
>             Project: NetBeans
>          Issue Type: Bug
>          Components: guibuilder - Code, platform - Property Editors
>    Affects Versions: 11.2, 12.6
>            Reporter: brad foster
>            Priority: Major
>
> This might be a combination of several issues, I'm not sure.
> Ever since switching from a 'last known working' NB version 5 or 7 to 11.2, opening, editing and compiling some existing UI projects, there are some weird effects.
> The project setup is 'unconventional'; the UI is created with NB in a different workspace from the business code (where Eclipse is used) and the compiled project/JAR's are then imported there. In turn, some UI extension code is developed and imported from the Eclipse workspace, e. g. a class 'LabelBorder' (which inherits from class 'TitledBorder', only rendering the upper titled border as a visual divider) and provided to the NB project as a JAR.
> _Don't ask why._
> One of the detrimental effects is, that border label's title/name values are lost from PanelUI components inside a GridBagLayout on a parent JPanel, in the compiled version from NB.
> For some such visual 'LabelBorder' divider sub-components, the '{*}border{*}' attribute in the properties view is printed bold. For those, the {{Border Customizer}} via [...] correctly shows a reall {{[?] LabelBorder}} entry for the imported component and all of its properties.
> Here, the auto-generated {{.form}} code from the Parent component using those PanelUI components also shows generated property code for the LabelBorder components:
> {code:java}
> <Properties>
>   <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors3.BorderEditor">
>     <PropertyBean type="my.ui.components.LabelBorder">
>       <Property name="title" type="java.lang.String" value="Section 3"/>
>     </PropertyBean>
>   </Property>
> </Properties> {code}
> For other, obviously completely similar sub-components it does not. The {{Border Customizer}} will show  {{[?] Unknown Border (Label Border)}} instead and {{<no properties>}} (also, in the properties view, the 'border' attribute is not printed bold), even though everything's in the same package hierarchy level.
> I cannot spot any difference in the component's properties, that give me any clue why this is.
> The {{Code Customizer}} will only show generated code entries for the 'good' examples like this:
> {code:java}
> my.ui.components.LabelBorder labelBorder1 = new my.ui.components.LabelBorder();
> zuzug.setBorder(labelBorder1); {code}
> What's obviously missing here, though, is:
> {code:java}
> labelBorder1.setTitle("Section1"); {code}
> This might explain, why the compiled version looses the label texts.
> Manually fiddling with {{Customize Code}} and adding correct code for the borked {{LabelBorder}} components, like above, will not show any different results, not even with full clean/build.
> Also, custom code can only be added '{{{}pre-init{}}}', not as '{{{}default code{}}}'.
> In NB 12.6, another effect shows for the 'borked' {{LabelBorder}} components, where printed the title font size is a little larger in the {{Preview Design}} view, than it is for the 'good' examples - there, the default font size from the super component {{TitledBorder}} is used.
> The only workaround to preserve title properties seems to be manually editing:
> _properties -> [...] -> border/LabelBorder -> title [...] -> Plain text -> OK_
> This step must be done before editing anything else, otherwise, the previous title value is gone and needs to be manually typed in the 'Plain text' field again.
> Closing and re-opening the editor will require to repeat this procedure.
> The issue(s) probably relate (at least in part) to NETBEANS-4798



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists