[
https://issues.apache.org/jira/browse/NETBEANS-1792?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tomáš Procházka resolved NETBEANS-1792.
---------------------------------------
Fix Version/s: (was: Next)
Resolution: Fixed
> 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, 11.0
> Reporter: Thierry Danard
> Assignee: Svatopluk Dedic
> Priority: Major
> Labels: pull-request-available
> 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
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> 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
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists