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

John McDonnell updated NETBEANS-1792:
-------------------------------------
    Fix Version/s:     (was: 10.0)
                   Next

> Behavior of BooleanStateAction has changed
> ------------------------------------------
>
>                 Key: NETBEANS-1792
>                 URL: https://issues.apache.org/jira/browse/NETBEANS-1792
>             Project: NetBeans
>          Issue Type: Bug
>          Components: platform - Actions
>    Affects Versions: 10.0
>            Reporter: Thierry Danard
>            Assignee: Svatopluk Dedic
>            Priority: Major
>             Fix For: Next
>
>         Attachments: DemoNetBeans1792.zip, image-2018-12-10-19-26-40-055.png, 
> image-2018-12-11-09-23-24-408.png, image-2018-12-11-09-47-54-474.png
>
>
> I used the latest release candidate of NetBeans 10 (vc4), and found that 
> BooleanStateAction fires two "booleanState" events instead of one when a 
> button backed by a BooleanStateAction is pressed, the first event reporting 
> that the state is changing to "true", the second event reporting that the 
> state is changing back to "false" (even though the button is still showing as 
> "pressed")
> In my case, this BooleanStateAction is inside a JToolbar.
> javax.swing.JToolBar toolbar = new JToolBar();
>  toolbar.setFloatable(false);
>  toolbar.setRollover(true);
> Component tp1 = 
> SystemAction.get(MyBooleanStateAction1.class).getToolbarPresenter();
>  Component tp2 = 
> SystemAction.get(MyBooleanStateAction2.class).getToolbarPresenter();
>  Component tp3 = 
> SystemAction.get(MyBooleanStateAction3.class).getToolbarPresenter();
> tp1.setFocusable(false);
>  tp2.setFocusable(false);
>  tp3.setFocusable(false);
> toolbar.add(tp1);
>  toolbar.add(tp2);
>  toolbar.add(tp3);
> JPanel toolbarPanel = new JPanel(new BorderLayout());
>  toolbarPanel.add(toolbar, BorderLayout.WEST);
>  
> This is a breaking change, it was working just fine in NetBeans 9. It breaks 
> a lot of code in my app as I rely on the booleanState event to enable to 
> disable behaviors: right now, when a user clicks a button, it shows as 
> "pressed", but the associated function gets disabled right after it gets 
> enabled.
> I wasn't able to find a root cause after running from NetBeans source.
> I did note that the BooleanStateAction is deprecated.
> I'll try to provide a sample code to reproduce.
>  



--
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