netbeans-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thierry Danard (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (NETBEANS-1792) Behavior of BooleanStateAction has changed
Date Tue, 11 Dec 2018 01:27:00 GMT

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

Thierry Danard updated NETBEANS-1792:
-------------------------------------
    Attachment: image-2018-12-10-19-26-40-055.png

> 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: image-2018-12-10-19-26-40-055.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-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


Mime
View raw message