Disabling button if table is filtered

hi,
i have a command button and a adf table on a jspx page.
i am keeping filtering enabled for table.
my requirement is i have to disable button if table is filtered and as soon as table becomes 'normal' or 'un filtered' i should enable this button.
can anyone suggest a way to implement this use case?
thanks.

Don Kleppinger wrote:
Just add a query listener to the table which gets called whenever query is filtered. Detect if the list of filter criteria is empty and refresh your button accordingly
public void queryListener(QueryEvent queryEvent)
FilterableQueryDescriptor desc = (FilterableQueryDescriptor) queryEvent.getDescriptor();
Map<String, Object> filterCriteria = desc.getFilterCriteria();
// refresh your button here.
// call default query listener to execute the query
Object query = JSFUtils.resolveExpression("#{bindings.MyROViewQuery}");
((FacesCtrlSearchBinding) query).processQuery(queryEvent);
to avoid using the internal FacesCtrlSearchBinding class use the example from
http://www.oracle.com/technetwork/developer-tools/adf/learnmore/30-table-filter-queries-169172.pdf
invokeMethodExpression(
"#{bindings.DepartmentsView1Query.processQuery}",
Object.class,QueryEvent.class,queryEvent);
Edited by: Don Kleppinger on Jun 4, 2013 12:02 PMthanks Don.
on this -
Detect if the list of filter criteria is empty and refresh your button accordingly
to detect i am using this code:
boolean filterApplied = false;
while (iterator.hasNext()) { 
String key = iterator.next().toString();
String value = filterCriteria.get(key).toString();
if (!value.isEmpty()) {
filterApplied = true;
break;
System.out.println("filterApplied --> " + filterApplied);
is there anyway better way of detecting?
Edited by: user5636757 on Jun 6, 2013 10:46 AM

Similar Messages

  • Disable delete button in Table Maintainance Generator

    Hello all,
      How to disable delete button in Table maintainance generator???

    Hi Maya,
    It is very interesting question. If you debug your table maintenance screen, the program of table maintenance screen will not have statically defined pf status. So you cannot exclude delete functionalities using the below statement.
    SET PF-STATUS <the GUI status> EXCLUDING 'DELE'.
    For viewing pf status SAP has programmed in dynamic manner using this FM VIEW_SET_PF_STATUS.
    Before calling above FM you need to exclude delete function. Follow the following step for achieving this
    Go to sm30. Put your table name and press on maintain push button. It will display table entries in maintenance screen.
    Go to system->status
    Click on program name.
    Go to your flow logic of you table maintenance screen number.
    It will have following code in flow logic
    PROCESS BEFORE OUTPUT.
    MODULE LISTE_INITIALISIEREN.
    LOOP AT EXTRACT WITH CONTROL
      TCTRL_ZMAINTAIN CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
       MODULE LISTE_INIT_WORKAREA.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        FIELD ZMAINTAIN-KUNNR .
        FIELD ZMAINTAIN-LIFNR .
        MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
       ENDCHAIN.
       FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        MODULE LISTE_UPDATE_LISTE.
       ENDCHAIN.
    ENDLOOP.
    MODULE LISTE_AFTER_LOOP.
    Add new module in PBO for excluding delete function. ex  module set_pf.
    PROCESS BEFORE OUTPUT.
    ****here I added my own code for excluding delete function
    ****begin of addion
    module set_pf.
    ****end of addition
    MODULE LISTE_INITIALISIEREN.
    LOOP AT EXTRACT WITH CONTROL
      TCTRL_ZMAINTAIN CURSOR NEXTLINE.
       MODULE LISTE_SHOW_LISTE.
    ENDLOOP.
    PROCESS AFTER INPUT.
    MODULE LISTE_EXIT_COMMAND AT EXIT-COMMAND.
    MODULE LISTE_BEFORE_LOOP.
    LOOP AT EXTRACT.
       MODULE LISTE_INIT_WORKAREA.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        FIELD ZMAINTAIN-KUNNR .
        FIELD ZMAINTAIN-LIFNR .
        MODULE SET_UPDATE_FLAG ON CHAIN-REQUEST.
       ENDCHAIN.
       FIELD VIM_MARKED MODULE LISTE_MARK_CHECKBOX.
       CHAIN.
        FIELD ZMAINTAIN-MATNR .
        MODULE LISTE_UPDATE_LISTE.
       ENDCHAIN.
    ENDLOOP.
    MODULE LISTE_AFTER_LOOP.
    *****inclule one line of code for excluding delete fucion
    module set_pf output.
          MOVE 'DELE' TO excl_cua_funct-function. COLLECT excl_cua_funct.
    endmodule.
    Basically sap fetching status dynamically from program SAPLSVIM using FM VIEW_SET_PF_STATUS. Status name is EULG.
    Please donu2019t hardcode anything by using set pf status statment, you just add one line of code the PBO by creating new module.
    Let me know if you need any help .
    Cheers.
    Regards,
    Peranandam

  • Disabled new entries button in Table Maintenance

    Hi Guru,
    I want to disabled new entries button in table maintenance (sm30) due to authorization. could u tell me how  can we do it.
    I want give authorize to user only see table maintenace entries
    not able to give new entries.
    <REMOVED BY MODERATOR>
    Thanks
    Ramakrishna
    Edited by: Alvaro Tejada Galindo on Apr 8, 2008 4:24 PM

    hi krishna,
    It is used for updating tables.i.e deleting,updating and inserting data into tables.
    check these threads and links
    Re: Regarding Table Mainantance Generator
    Re: table maintenance
    For further help look into these links
    http://help.sap.com/saphelp_46c/helpdata/EN/cf/21eb6e446011d189700000e8322d00/frameset.htm
    http://help.sap.com/saphelp_bw30b/helpdata/en/69/c2516e4ba111d189750000e8322d00/content.htm
    Table
    Table maintanence generator is nothing but making a table available for adding records and deleting records.
    The transaction code used is SM30.
    follow below steps
    1) go to se11 check table maintanance check box under
    attributes tab
    2) utilities-table maintanance Generator->
    create function group and assign it under
    function group input box.
    also assign authorization group default &NC& .
    3)
    select standard recording routine radio in table
    table mainitainence generator to move table
    contents to quality and production by assigning
    it to request.
    4) select maintaience type as single step.
    5) maintainence screen as system generated numbers
    this dialog box appears when you click on create
    button
    6) save and activate table
    using sm30 you can create entries manually.
    check these links
    Table Maintainance generator
    Table Maintainance Generator!!
    Re: STANDARD RECORDING ROUTINE IN TABLE MAINTENANCE SCREEN
    <REMOVED BY MODERATOR>
    karthik
    Edited by: Alvaro Tejada Galindo on Apr 8, 2008 5:11 PM

  • Issue in disabling button and retaining search results of query bean

    Hi,
    I need help in 2 issues
    1) I have a query bean and an advanced table attached to it. I have enabled table actions and put a button inside that. The requirement is the button should be enabled only if a record is present in the advanced table. If for a search parameter, no results are displayed in the advanced table, the button should remain disabled. The moment the results are populated in advanced table the button should be enabled. Please let me know how this can be achieved.
    2) In the advanced table there is a column of type Link. On clicking this link i am forwarding the control to some other OAF page AA. I am retaining AM here. From this new OAF page AA user can move to some other OAF pages B or C. All these pages have different AM. There is a link called return to original page on page AA which takes user back to the search screen. When user goes to page AA and comes back to search screen without going to page B or C the search results are displayed on the page, but when user goes from page AA to page B or C and finally returns to the search screen, the data in search results along with search criteria are lost. The search screen is completely blank.
    I need to display the search results/search criteria no matter what navigation user is doing. Is there a way i can save the search query that got executed on the click of search button. I can re-execute the query when user comes back on search screen.
    Please let me know how to achieve these 2 functionalities.
    Thanks,
    VG
    Edited by: VG on Sep 6, 2011 2:55 PM

    For (1)
    I guess you want to select single/multiple rows after the table is populated in table and perform an action using button.
    If that is the case then do not put button under table actions. Instead put it under multiselection region. Then button only gets displayed when rows are populated.
    If that is not the case then get a handle to button (use findChildRecursive, findIndexedChildRecursive may not work) and disable/enable it.
    For (2).. If you are on r12 below can be useful :- (taken from 12.1 framework guide)
    Using Search Persistence
    In the past, if a user performed a search and then drilled down to a details page, search criteria was lost when
    the user navigated back to the Search page, unless the developer retained the AM or created a custom
    implementation to persist the search criteria. As of Release 12, developers no longer need a custom
    implementation to persist search criteria, as the query region now has an automatic search persistence
    mechanism in place.
    Generally speaking, you should still retain the AM in favor of using the automatic search persistence
    mechanism for performance optimization reasons. However, if retaining the AM presents a scalability issue
    because the underlying view object (VO) had hundreds of attributes, then you should you turn off retainAM and
    allow the query region to automatically handle all the search criteria binding and use the automatic search
    persistence mechanism.
    Note: If you retain the AM state, the automatic search persistence mechanism will not be active. The search
    persistence mechanism is automatic only if the AM state is not retained.
    When a user selects the Go button to initiate a search on the query region, the OAQueryBean automatically
    caches the search criteria on the user session. After the user drills down to the detail page of the Search
    results and then returns to the Search page, the OAQueryBean restores the search criteria from the cache and
    re-executes the query using that saved critieria.
    Note: Since the query is re-executed, any sort, navigation or transient UI state of the results table will not be
    preserved. Saving the entire table state presents high overhead which is what this particular feature is trying to
    avoid.

  • How to disable Buttons based on condition.

    Hi
    Need your help to disable button based on condition.
    Please refer the application:
    http://apex.oracle.com/pls/otn/f?p=34797:5:110582943383419::NO:::
    login credentials:
    workspace: vsanthanam
    user: vijay
    pswd: apex_demo
    In the above application, i have 2 buttons in page 5, (Report1 and Report2)
    Where i have to disable button based on the following conditon:
    i) USER whoever has Admin value 'Y' in my table can access the button.
    for this i've written a Button Condition : Type (EXISTS)
    select 1 from apex_extra_values where rtrim(lower(empname)) like decode((select Admin from apex_extra_values
    where rtrim(lower(empname))=rtrim(lower(V('APP_USER')))),'Y',rtrim(lower(V('APP_USER'))))
    note: i have empname same as my APEx user name. with Admin access 'Y'.
    By using this code i can able to hide the button for users who has no Admin access.
    But my requirement is : i have to show the button even if the user is not Admin, but to grey out (disable the button - no action)
    I tried using javascript function:
    function disableButton(pThis)
    pThis.disabled=true;
    But either of this (exists condtion or JAvascript function) works in my case and not both.
    Any pointer on this would be highlt appreciated.
    Thanks
    Vijay

    Couple of things:
    1. I would never use v('APP_ITEM') but :APP_ITEM - it is faster and there is no need to use this function within an application
    2. The way you are doing this check is not the best approach. You should create an authorization schema and run this once per session. Whatever this authorization is returning as a result you can check using the following Function returning boolean:
    IF apex_util.public_check_authorization ('MY_AUTH') THEN RETURN TRUE; ELSE RETURN FALSE; END IF;
    See this example on authorization issues:
    http://apex.oracle.com/pls/otn/f?p=31517:148
    3. As far as disabling a button is concerned I think I explained the options. I also have an example on that here:
    http://apex.oracle.com/pls/otn/f?p=31517:143
    whereby it is not disabling but hiding a button.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.opal-consulting.de/training
    http://apex.oracle.com/pls/otn/f?p=31517:1
    -------------------------------------------------------------------

  • Disable button when user clicks

    Hi.,
    I am using jdev 11.1.5
    I need to disable button when user clicks the record which contain the value 'No'
    My scenario
    Id          Value
    1            Yes
    2            No
    3            YesThe button should get enabled for the first record which contain value 'Yes'
    In the above table the button should get enabled for
    Id        Value
    1          Yes          //while user clicks the record button must enabledfor 2 and 3 the button must be disabled
    could any one pls help me

    Hi,
    First get the selected value in bean and set it to String attribute,in your value change listener.
            public void customVLC(ValueChangeEvent valueChangeEvent) {
              //write code to get selected value
              this.selectedValue = "No";//Depend on your selected value on above
              AdfFacesContext.getCurrentInstance().addPartialTarget(getCbButton());//Bind button to bean and get UI here to refresh
       private String selectedValue;
        public void setSelectedValue(String selectedValue) {
            this.selectedValue = selectedValue;
        public String getSelectedValue() {
            return selectedValue;
        }in page put as
    disabled="#{YourBean.selectedValue eq 'No' ? true : false}"Here selectedValue keep the state for disable and enable the button
    I hope above information enough to resolve the issue..

  • Accessibility - Disabled Button Issue

    Hello,
    I am using Jdev 11.1.1.6 with ADF Faces technology stack.
    I have implemented accessibility option setting in my application. I am facing one issue that when accessibility options are "on" and it is tested for accessibility compatibility, it fails for disabled command buttons with message:
    3.48:1 Fail. Either improve the ratio to 4.5:1 or increase the font size to 14pt bold or 18pt normal - (STYLE-3)I am using OGHAG Toolbar for Firefox. This is a firefox plugin that has a option of "Colour Contrast Analyzer", which when pressed, while my application, produces a report. Everything looks good except disabled buttons.
    This is happening for inbuilt buttons like "Wrap" on af:table surrounded with af:panelCollection or simple First/Previous/Next/Last navigation button. So the enabled buttons has no issues but disabled appears "red" (highlighted as error) on page
    Just to clarify that there is no custom style/skin applied on command buttons.
    My questions:
    1. Does the ADF out-of-box buttons compatible with accessibility option?
    2. What fix is required in this case? Do I need to use darker background/foreground color or a bigger font for disabled button?
    Any help here is highly appreciated.
    Thanks,
    Jai

    Here is the official doc http://www.oracle.com/technetwork/developer-tools/jdev/documentation/accessibility-462550.htm
    Otherwise support can help you sort this out. All weed can do is to advice to skin the buttons yourself.
    Timo

  • How to enable or disable buttons on an interactive ALV report

    I have two buttons on Interactive ALV report. Before displaying the ALV report, I want to enable or disable buttons on ALV depending on some conditions.I dont want to make the buttons visible or invisible. This is not an OO ALV report.
    Please suggest !!!

    Then you have to use the event set_pf_status or parameter I_CALLBACK_PF_STATUS_SET for this pass the form name.
    You have to Implement the form Routine.
    FORM PF_STATUS using status type SLIS_T_EXTAB.
    SET PF-STATUS 'STS' excluding status.
    ENDFORM.
    First create the pf-staus using SE41 or double click on the status name and create . By default you make them Disable mode.

  • I have tried all the methods in previous logs btu nothing works... how do i get my facebook id to work in settings on my ipad? there is no disable button in privacy only an app on my ipad

    ok so ive tried everything except for complete reset where i lose all my data and stuff... i reset my settings and i tried the privacy then facebook and disable there is no disable button... i am fedup i cant acces any of my games because its registered to that facebook which cannot log in please give me an answer that works because its really ******* me  off...

    Your backlight is out, it's a hardware problem and you'd be best served to take it in for an estimate. Or you could purchase an external display and use it as a desktop computer. You'll have to decide if repairing a 6 year old computer is worth it.

  • Read-only textbox and/or disable buttons in Infopath 2013

    In a InfoPath 2013 custom list form, my requirement is to make textboxes read-only, disable buttons, and/or create new buttons so users can not update fields in a custom list once the user has updated data in the list. Basically after the user hits the 'save'
    button so that the data is saved.
    The requirement is not to set up custom permissions since my SharePoint administrator said I should find another option. This administrator said he does not see a reason for only an 'add' permission.
    Thus can you tell me how to meet my requirements? Can you show me screen prints, pictures, or urls on how to solve the problem?

    Hi,
    According to your description, you might want to prevent users from editing the existing items.
    There are two workarounds I can provide as below:
    As the first workaround, you can remove Ribbon from SharePoint InfoPath List Form via modifying the OOTB settings of InfoPath Web Part.
    Here is a link about more details, you can use it as a reference:
    http://the-north.com/sharepoint/post/Remove-Ribbon-from-SharePoint-InfoPath-List-Form
    As the second workaround, you can apply the CSS code below to your page, it will hide the “Edit Item” button in the Ribbon:
    <style type="text/css">
    #Ribbon\.ListItem\.Manage\.EditProperties-Large{display: none !important;}
    </style>
    About how to add JavaScript/CSS into SharePoint page:
    http://blog.cloudshare.com/2012/10/29/how-to-insert-custom-javascript-code-in-sharepoint-2013-pages-part-i/
    Best regards
    Patrick Liang
    TechNet Community Support

  • How to disable fields in Table control???

    Hi
    How to disable fields in Table control??? I want to disable particular row in table control when enter datas are correct.lets take as example ME41 or ME51 table control.
    Can anyone tell how to do disable in this table control
    Points will be rewarded if its helpful.
    Thanks
    senthil

    If you want to disable the row then you can use
    in pbo module create a module in side loop,
    loop at itab with control tc.
    module change_screen.
    endloop.
    in module,,,,,
    loop at screen.
    if condition.
    screen-input = 0.
    modify screen.
    endif.
    endloop.
    Regards
    Vijay

  • How setup browser laces import Bookmarks HTML security disable button open Device Manager security warni vewing mixed

    how to alter these settings?
    1.browser laces import Bookmarks HTML?
    2.security disable button open Device Manager?
    3.security warni vewing mixed?

    We didn't get a reply from you.  I just wanted to try and follow up before I close this out. 
    I'd like to know if the issue went away, and/or if you could confirm whether it's Firefox specific or happening in all browsers.

  • PayPal buttons inside table scramble Design View in DW CS5.5

    I developed my web site using Dreamweaver 8:
    http://www.harmonize.com/hatleymusic/classic.html
    As  you see, I have PayPal buttons inside table cells.  I did this using  Design View, putting the insertion point in the table cell, going to  code view, and pasting the PayPal button code at the insertion point.   This all worked fine.
    I just upgraded to DW CS5.5. and now  when I try to use the same procedure, the Design View image gets  scrambled  after I paste the button code in code view.  The table format  is no longer in place, and I can no longer see where the cells of the  table are.  However, when I go to Live View, everything looks fine  including the table and the buttons.
    Can anyone tell me  how to overcome this problem?  As it stands, I cannot use DW to work on  my web site, which is a major problem for me.
    Thanks.

    How do I get someone to respond to my question here?
    Let me try again.
    With DW CS5.5 when I try to insert a PayPal button into a table (which I always did with DW8) the table in Design View gets scrambled, making it unusable.  Please would one of you out there who is much more knowledgeable about DW than me try it and see if there is a solution?  If you create a new HTML page in Design view, create a table in it, place the insertion point inside one of the table cells, go to the code view and locate the insertion point there, then paste the PayPal button code at that point. Here's the code:
    <form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="hosted_button_id" value="XSXQ9CUMUVLQC">
    <input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_cart_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
    </form>
    Now go back to Design view and see how it looks.  If it acts the way it does for me, the table is no longer visible, but if you go to Live View everything looks fine with the table and the button inside it.  Of course, I can't design in Live View.
    PLEASE can someone out there help me.
    Many thanks.

  • Enabling/disabling buttons problem

    Hello,
    I'm using jdev 10.1.3.3.0 and I want to enable/disable buttons based on the value in a tableSelectOne. I wrote a function isNextButtonEnabled() in my backing bean and I have set the disabled option of the nextButton (=CoreCommandButton) to #{!backing_bean.nextButtonEnabled}. Then I putted the autoSubmit option of the TableSelectOne to true and made a partialTrigger on the nextButton to the TableSelectOne. In the print statements everything is fine, but it is never displayed.
    Does anyone know what to do about this.

    Well,
    the nextButton is in a cellFormat which on itself is in a HtmlRowLayout. I putted partial triggers on the cellformat, the rowLayout and the panelPage to the TableSelectOne, but this doesn't do the trick neither. Strange.

  • Disabled button getting focus

    My problem is that a disabled button are getting focus, which is bad when the application are operated without a mouse.
    I made this litlte demo to illustrate the problem.
    Try pressing button no.1. This will disable button no.1 and button no.2,
    but why are button no.2 getting focus afterwards?
    * NewJFrame.java
    * Created on 29. september 2005, 16:55
    import javax.swing.*;
    * @author  Peter
    public class NewJFrame extends javax.swing.JFrame {
        /** Creates new form NewJFrame */
        public NewJFrame() {
            initComponents();
            printButtonStatus();
        private void printButtonStatus () {
            printFocus (jButton1);
            printFocus (jButton2);
            printFocus (jButton3);
            printFocus (jButton4);
         * Just debug inf.
        private void printFocus (JButton button) {
            System.out.println ("Button=<" + button.getText () + ">, Enabled=<" + button.isEnabled() + ">, Focus=<" + button.isFocusable() + ">");
        /** This method is called from within the constructor to
         * initialize the form.
         * WARNING: Do NOT modify this code. The content of this method is
         * always regenerated by the Form Editor.
        private void initComponents() {
            jPanel1 = new javax.swing.JPanel();
            jButton1 = new javax.swing.JButton();
            jButton2 = new javax.swing.JButton();
            jButton3 = new javax.swing.JButton();
            jPanel2 = new javax.swing.JPanel();
            jButton4 = new javax.swing.JButton();
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
            jButton1.setText("jButton1");
            jButton1.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    jButton1ActionPerformed(evt);
            jPanel1.add(jButton1);
            jButton2.setText("jButton2");
            jPanel1.add(jButton2);
            jButton3.setText("jButton3");
            jPanel1.add(jButton3);
            getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
            jButton4.setText("jButton1");
            jPanel2.add(jButton4);
            getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
            pack();
        private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
            // TODO add your handling code here:       
            jButton1.setEnabled(false);
            jButton2.setEnabled(false);
            jButton3.setEnabled(false);
            printButtonStatus();
         * @param args the command line arguments
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new NewJFrame().setVisible(true);
        // Variables declaration - do not modify
        private javax.swing.JButton jButton1;
        private javax.swing.JButton jButton2;
        private javax.swing.JButton jButton3;
        private javax.swing.JButton jButton4;
        private javax.swing.JPanel jPanel1;
        private javax.swing.JPanel jPanel2;
        // End of variables declaration
    }

    Very courius.
    I have made a little change in your code.
    1) scenario
    Simply changing .setEnabled(false) invokation, the class works fine.
    so
    jButton2.setEnabled(false);
    jButton3.setEnabled(false);
    jButton1.setEnabled(false);
    2) scenario
    the class works fine also using your .setEnabled(false) order invokations and putting after those:
    FocusManager.getCurrentManager().focusNextComponent();
    I do not know exactly why, I suppose that is there something not properly
    syncronized in events dispaching.
    In my opinion:
    a) setEnabled(false) at last calls for setEnabled(false) of JComponent
    that fires a propertyChange event
    so:
    scenario 1)
    buttons 2 and 3 are disabled before of button1 that has the focus in
    that moment (given by a the mouse click on itself)
    When botton1.setEnabled(false) is performed buttons 2 and 3 are
    just disabled, so focus is got by button4 (that is enabled)
    scenario 2)
    button1 that has the focus (given it by the mouse click) becames
    disabled before that button2 becames disabled too.
    So, probably, when the event of PropertyChanged is fired and processed, button2.setEnabled(false) invokation has not been
    just performed and swings looks for it as a focusable component
    So, using FocusManager.getCurrentManager().focusNextComponent(),
    we force the transer focus on next focusable component.
    This is only a my suppose, looking what happens.
    Regards.
    import javax.swing.*;
    * @author Peter
    public class NewJFrame extends javax.swing.JFrame {
    /** Creates new form NewJFrame */
    public NewJFrame() {
    initComponents();
    private void printButtonStatus () {
    printFocus (jButton1);
    printFocus (jButton2);
    printFocus (jButton3);
    printFocus (jButton4);
    System.out.println("--------------------------------");
    * Just debug inf.
    private void printFocus (JButton button) {
    System.out.println ("Button=<" + button.getText () + ">, Enabled=<" + button.isEnabled() + ">, Focus=<" + button.hasFocus() + ">, Focusable=<" + button.isFocusable() + ">");
    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    private void initComponents() {
    jPanel1 = new javax.swing.JPanel();
    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jButton3 = new javax.swing.JButton();
    jPanel2 = new javax.swing.JPanel();
    jButton4 = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jButton1.setText("jButton1");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    jPanel1.add(jButton1);
    jButton2.setText("jButton2");
    jPanel1.add(jButton2);
    jButton3.setText("jButton3");
    jPanel1.add(jButton3);
    getContentPane().add(jPanel1, java.awt.BorderLayout.NORTH);
    jButton4.setText("jButton1");
    jPanel2.add(jButton4);
    getContentPane().add(jPanel2, java.awt.BorderLayout.CENTER);
    pack();
    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    // I have simply change the order
    jButton2.setEnabled(false);
    jButton3.setEnabled(false);
    jButton1.setEnabled(false);
    // with this sentence the class work with original .setEnabled order
    //FocusManager.getCurrentManager().focusNextComponent();
    SwingUtilities.invokeLater(new Runnable()
    public void run()
    printButtonStatus();
    * @param args the command line arguments
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new NewJFrame().setVisible(true);
    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    // End of variables declaration
    }

Maybe you are looking for

  • Gurus...Need help....extract data from BKPF header table and BSEG line item

    Gurus, I have to write the logic to fetch data from bkpf and bseg. Need help on how can i do that.. I have to get bukrs  belnr gjahr ldgrp from BKPF for a given date and company code. For all these documents, then i have to get the line items from BS

  • View my photos on Television

    I have created a Slide Show in iPhoto. I have dragged it to the iDVD application. What DVD-R discs do I need to purchase to Burn the Slide Show on? The "Help" informs me: Mac Superdrive only writes to x2.0 general DVD-R discs. I have been unable to f

  • Sharing only users cannot connect to Lion Server

    Dear all, I stumbled across a funny problem, that I tried to resolve all day. I just wanted to add a sharing only user for my girlfriends new MacBook that she could use to connect to a shared Time Machine Volume. If I add a new standard user, this us

  • Send Auto mail to Vendors for Pending Delivery of Purchase orders

    Hi Gurus, I want to send an Auto Mail to my vendors according to their products as a reminder for the delivery of items of Purchase Order . Please give the configuration changes required for the same Thanks a lot in Advance Sam

  • Espn wont play video

    Go to the global security settings panel in Flash player help  When it opens go to the 3rd icon from the left with the lock icon. Click on edit location and add espn.com  this worked for me