[ 
https://issues.apache.org/jira/browse/NETBEANS-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16717420#comment-16717420
 ] 

Geertjan Wielenga commented on NETBEANS-1792:
---------------------------------------------

Using which JDK? Are you using the same JDK with NetBeans 9 and 10?

Again, please open a discussion thread on the Apache NetBeans dev mailing list, 
not everyone follows all the issues created, so discussing this on the mailing 
list will get others involved including those working with similar code.

> 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
>            Priority: Major
>             Fix For: 10.0
>
>         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