Distinguishing user selections from programmatic selections in JList

I have two jlists., and registered a subclass of ListSelectionListener on each list. When the user selects a record in the first list part of of the code I have written sets a selection on the second list which is correct, but then this triggers the listener on the second list to receive an event, and run its listener code which is not what I want.
I want to be able to identify a list selection caused by the user selecting a record in the list rather than the a programmatic selection, so that i can ignore programmatic selections.
Checking event.getSource() is no good as it always just returns the JList itself regardless of whether it has been done programtaically or by a user.
I tried checking list.isFocusOwner() , figuring that only lists that had been user selected would be focus owner. This works for Windows but on MacOS, it doesnt work the frst time you select something from the list after moving from another component (it does work after that).
How do i do this, thanks Paul

an alternative is to set a flag
boolean fromList1Listener = false;//class field scope
list1Listener
  fromList1Listener = true;
  change list2 selection
  fromList1Listener = false;
list2Listener
  if(fromList1Listener == false)
    normal code goes here
}

Similar Messages

  • How to make a report to display next 18 months of data with when user select a particular month from the filter in power pivot tabular model.

    Hi,
    i have a  dimension table  with month_key having values (201201,201202,201203.......202011,202012) and month name ( Jan 12, feb 12,......NOV 20, Dec 20)  and a fact  table with columns (month_key ,measure_types, Amount)
    My requirement is to create a power pivot report  in which when a user select a month from the filter, the report should display the (selected month+18 ) month's data against each type . when JAN 12 is selected ,the jan 2012 +18 = june 2013
    , month name should be populated with months till june 2013 only .
    i tried creating calculated column"END DATE " in the fact table with  dax expression to calculate the 18th monh from the current month  as below 
    month_key END DATE
    201201       201306    
    201202       201307      
    and thought of filtering the table with month key <= ENDDATE but it is not working as expected. could you please guide me on this ? Is there any time intelligence function that serve the purpose . Iam using  excel 2010
    ..hence could not do any calculation on the report side also. please suggest .
    Thanks in advance                                                                                                                                               

    Do you need to show the measure calculated for those 18 months as a total on 1 row, or do you need to select a single month and then display on row filters 18 distinct rows?
    The first is trivial as driezl has suggested.
    The second will require a second calendar table.
    I created this example workbook for a coworker who had a similar problem. You will have to use the disconnected table as your filter and pull your related table onto the rows.
    Finally, the easiest way to deal with the sort of date arithmetic you need to do is to restructure your date table to have a series of "Sequential" fields. These fields should be the number of units of time since the beginning of your calendar.
    For example, consider a calendar starting on January 1, 2010. For January - December 2010, [MonthSequential] = 1, 2, ..., 12. For January - December 2011, [MonthSequential] = 13, 14, ..., 24, and so on, incrementing by 1 for each sequential month in time.
    Assuming you have this set up in your date tables (one related to your model - DimDate - and one disconnected - DisconDimDate) your measure would look like this:
    18 Month Measure:=
    CALCULATE( [Measure]
    , FILTER( DimDate
    , DimDate[MonthSequential] >= MAX( DisconDimDate[MonthSequential] )
    && DimDate[MonthSequential] <= MAX( DisconDimDate[MonthSequential] ) + 18
    Please review this example along with the workbook I have linked above.

  • Message missing from alert box & Can you disable everything until user selects an answer?

    Question 1 - My alert box window is working, and the title and buttons function as they should, but does anyone know why my message is not showing up?
    Question 2 - How do you program the alert box window so that no other buttons on your application work until the user selects one of your alert window buttons? I can do this manually by setting everything to enabled = false, but I know this happens automatically every other time I've used the alert window component, but it's not working for me now.
    Question 3 - How can I prevent multiple alert windows from popping up? My alert comes up when a user clicks a button called 'Delete'. Would be solved if I had the answer to question 2.
    var myMess:String = '';
    var myTitle:String = '';
    function confirmDelete(){
        selectedAlt = list_dg.selectedItem.ALT_CODE;
        myMess = "Are you sure you want to delete this ALT code: "+selectedAlt+"?";
        myTitle = "Confirm Delete ALT Code Function                                                    ";
        var alertBox:Object = Alert.show(myMess,myTitle,Alert.YES|Alert.NO,this,deleteConfirmHandler);
        alertBox.setSize(450, 125);
    // HANDLER FOR CONFIRM DELETE ALT ALERT WINDOW
    deleteConfirmHandler = function(evt_obj:Object):Void {   
        var myAnswer = evt_obj.detail;
        // returns 1 if yes, 2 if no.
        if (myAnswer == 1){
                deleteAlt();
        else {   
            altDetail.moveAssign_btn.enabled       = false;
            altDetail.moveAvail_btn.enabled        = false;
            altDetail.avail_list.selectedIndex     = null;
            altDetail.assigned_list.selectedIndex  = null;

    I think you were on the right track, it did have something to do with the parent fla file. Once I complied it's parent file (and imported the window and alert classes into the parent), my message appeared in the alert box.
    It doesn't make any sense, because the component is not in the parent file, it's in the sub-parent fla file, but I guess you just have to compile all the files in the hierarchy for it to work... It also doesn't make sense why everything else worked before (the title, the yes and no buttons) except for the message.
    Thanks for the suggestion (to look at the depths, etc), however, I'm still unable to understand why the alert is not modal as it should be. If anyone has any suggestions on how to fix the buttons to make them modal, please let me know. Thanks.

  • Can I somehow let the user select multiple images from device?

    Is there any way to let the user select multiple images from the device media gallery?
    The CameraRoll only selects one image. And the FileRefernceList doesn't show thumbnails (so you have no idea what you are selecting).
    Is there a way, or maybe some sort of workaround, for this? Is there a way to maybe "read" the users gallery on the SD-card and output your own gallery that the user can select from?
    I'm developing towards both Android and iOS so cross-plattform is a must.
    Thank you guys

    +1 to this question. I'm looking to do the same thing but haven't had any luck yet.

  • User selecting default display page from detailed navigation

    Hello all,
    Can individual users select a default display page from the detailed navigation section? For instance, say I have a list of pages in the detailed navigation each showing a BW report;
    Detailed Navigation
    Report 1
    Report 2
    Report 3
    Report 4
    So when the users navigate from the top level to here then 'Report 1' is automatically displayed. Say that towards the end of the quarter userX will be looking at 'Report 3' mostly while userY will wish to concentrate on 'Report 2', can the users themselves set their default? Or must this be done by the portal admin, rearranging the order of these pages in the assigned role or changing the display priority of them? But then it wouldn't be per user, if they shared the role.
    If the users cannot do this themselves is there a way to do it in Java perhaps?
    Thanks for you time,
    Patrick.

    Hi Detlev,
    We decided on an easy way through.
    Each page has to display a BW report, very simple. So we're going to give the users an iView where they get a list of all BW reports that they have access to (read from a text file). From there they select what they wish to be their default report (written to another text file).
    The default page (first on detailed navigation) reads the text file and displays the BW report found there in an IsolatedHtmlContainer. Not precisely what was wanted at the start but pretty much offers the same functionality.
    Thanks for your help, I'll read the doc. It's always good to know these things.
    Patrick.

  • Get year from user selected month in field name

    Hi BExperts,
    I would your help about this problem on BI 7 :
    At the opening of the query, user selects a month (for example 03.2007).
    From this month, i have to indicate key figures on the selected month (03.2007) and key figures on the corresponding year (here 2007).
    I'm using a variable in order to get the selected month (0I_CMNTH).
    I don't know how to get the corresponding year (with a variable) ?
    For example : user selects "03.2007", in the query i would have :
    Period  Key figure
    03.2007     17
    2007           38
    Thanks for help.
    Points will be assigned.
    Cheers,
    Vince.

    Hello,
             I am not sure about the one you mentioned but this is another way which you can try by creating the customer exit variable V_YEAR under 0calyear characteristic and add the following code for gettting the previous year.
    data: year(4) type n,
             year1(4) type n.
    when 'V_YEAR '.
    if i_step = 2. "after the popup
    loop at i_t_var_range into loc_var_range
    where vnam = '0I_CMNTH'.
    year = loc_var_range-low (4).
    year1 = year - 1.
    clear l_s_range.
    l_s_range-low = year1.
    l_s_range-sign = 'I'.
    l_s_range-opt = 'EQ'.
    append l_s_range to e_t_range.
    exit.
    endloop.
    endif.

  • Limiting rows displayed from user-selection on dashboard prompt

    Hi,
    I'm looking for a way to limit the number of rows displayed after a user has made a selection using a dashboard prompt. Here is my scenario:
    User selects 24 periods of data using an 'In Between' dashboard prompt (i.e. Jan05-Dec06). 24 rows are returned by the query but I only want to show the last 12 rows (Jan06-Dec06).
    Motivation is that I'm using the MSUM function to display a 12-month moving sum total and I don't want to display the first 12 rows as they do not contain a complete moving sum total.
    I've looked at using a variable to store the user selection at the dashboard prompt, but the 'In Between' dashboard prompt does not allow one to store a result in a variable.
    Any suggestions are welcome!
    Thanks!

    Hi Som,
    Thanks again for your feedback. I've thought about using dynamic repository variables, but found them not to be the answer. Although the moving sum would always be a 12 month total, the user needs to be able to vary the range of periods using the dashboard prompt. Today he might only want to look back 12 months, tomorrow he may need a 5 year overview. Using dynamic repository variables would mean I'd have to create variables for the entire history i.e. CM until CM - 240 (20 years * 12 months). If a user then would like to report on a specific period, he would need to pick the correct dynamic variables, which would not be user friendly/acceptable.
    I think I may need to resolve this problem in my datamart by calculating & storing a 12 month total (the only 'fixed' requirement of the report) in my fact table. This would also remove the need for the user to select 12 months more that he would see in his report (a drawback of my original scenario above).
    Thanks again for your input!
    Regards,
    Dutch

  • How to avoid the user selecting a different path in my installer

    Hello again all you helpful forum-goers!
    I have an application and a corresponding installer, and then I have a separate installer putting some support files in the same directory.  My problem is that if the user selects a different path to which to install my primary application, the secondary installer will not put the required support files in the same spot.
    Now, I think I've figured out how to get the user-selected path from the "Run executable at the end of installation" option in the Advanced pane of the LabVIEW installer configuration, and I can pass that in to my secondary installer, and that should fix the problem.  However, what I'd really like to do is just not give the user the option to install my primary application in a different directory to begin with.  I've looked, but cannot find any way to do that.
    Does anyone know of any way to not present the option to install an application in a different directory when using the LabVIEW installer?
    Thanks in advance for any suggestions,
    -Joe

    Ben64,
    That's great!  Thank you so much for your quick reply.  The only reason I haven't already accepted that as my solution is that it requires a manual post-compile change to a text file.  Ideally I'd prefer not to have to remember to do that every time I rebuild my installer.  Is there any way that you know of to automate the process?
    If not, I'm happy to have a good solution even if it takes an extra step each time to implement.
    -Joe

  • How We can restrict the max no of Selections in JList

    Hi,
    How We can restrict the max. no of selections (at random selections) in JList (ex. max No of of selections is 3 in a JList of having 50 items.)
    Thanks for your advise in advance.

    Hello Satyaki De.
    Thank you very much for your suggestion but my Private information is totally apart from this question & I already I have changed each and every information from the question.
    Thanks
    Kamlesh Gujarathi
    [email protected]

  • Customizing user selection fields of Logical database PNP

    Dear Gurus,
    I had made a z-copy of payslip program for incorporation of Logo. Now we need to put this report in Enterprise Portal (EP). Now since we would not want any user to view any other person's payslip, I need to disable the selection field (PERNR) for user selection.
    Problem is this field for user selection is coming from standard Logical Database (LDB - PNP) used in the program. So how can I make this field hardcoded as sy-uname and non-modifiable without making z-copy of LDB-PNP.
    Also I wish to harcode Payroll Area writing some code (from table PA000) but again I cannot write this in std. PNP LDB and writing it in driver program will not help.
    Thanks in advance.
    Regards,
    Amit

    Write the highlighted coding in initialization ...
    initialization .
    select single pernr from pa0105
           into pernr-pernr
           where usrid = sy-uname.
    if sy-subrc = 0.
      PNPPERNR-sign = 'I'.
      PNPPERNR-option = 'EQ'.
      PNPPERNR-LOW = pernr-pernr.
      Append PNPPERNR.
    endif.
    loop at screen.
    if screen-name = 'PNPPERNR-LOW' or
    screen-name = 'PNPPERNR-HIGH'.
    screen-input = '0'.
    endif.
    modify screen.
    endloop.
    at selection-screen output.
    loop at screen.
    if screen-name = 'PNPPERNR-LOW' or
    screen-name = 'PNPPERNR-HIGH'.
    screen-input = '0'.
    endif.
    modify screen.
    endloop.

  • Reading dynamic table column based on user selection

    Hi there,
    I am having a problem of reading and manipulating the data stored in a standard SAP table. The following example simulates the table and what i am trying to do:
    Table: Storing sales data for sales person
    SALES_PERSON    REGION   YEAR   MTH_S1  MTH_S2  MTH_S3 MTH_S4...
    Richard  S               NORTH    2007     100          200         300        400
    John K                    SOUTH    2007      50           100         100        20
    Brad P                    NORTH    2007     300          100         100        50
    User have have the following selection option:
    1. Month.
    The program will calculate the sales based on the individual month selected
    Example, if user select Month = 3, then program take only MTH_S3 column value
    So total sales = 300100100=500
    2. Month range
    The program will calculate the sales based on the month range selected
    Example, if user select Month 2 to 4, then program take MTH 2 to MTH_S4 columns value
    So total sales = 400 (for MTH_S2) + 500 (for MTH_S3) + 470 (for MTH_S4) = 1370
    How should i write the logic or code for this requirement?
    Hope someone can help.
    Thanks,
    Pang HK

    Try something like this
    TABLES:
    t247.
    SELECT-OPTIONS:
      s_month FOR t247-mnr NO-EXTENSION.
    DATA:
      BEGIN OF fs_data,
        person(30),
        area(10),
        year(4),
        mon1 TYPE kbetr,
        mon2 TYPE kbetr,
        mon3 TYPE kbetr,
        mon4 TYPE kbetr,
        mon5 TYPE kbetr,
      END OF fs_data,
      t_data LIKE STANDARD TABLE OF fs_data,
      w_no_months TYPE i,
      w_kbetr TYPE kbetr,
      w_total TYPE kbetr.
      LOOP AT t_data INTO fs_data.
        CLEAR w_kbetr.
        DO 5 TIMES VARYING w_kbetr FROM fs_data-mon1
                                                          NEXT fs_data-mon2.
        IF sy-index IN s_month.
          w_total = w_total + w_kbetr.
        ENDIF.
        ENDDO.
      ENDLOOP.
    change the value 5, according to the no.of months in ur internal table

  • "File Dialog" Express VI returns the wrong path when the user selects the desktop

    In labview 8.0.1 with Windows
    XP, the File Dialog Express VI seems to return something other than the path
    selected by the user when configured to browse for folders (or files and
    folders) and the user selects the desktop.
    I can't determine exactly when it works and when it fails, but it always seems
    to fail if the user selects the desktop from the places bar (the shortcuts on
    the left side of the dialog) or from the drop-down menu at the top of the
    dialog and then clicks the "Current Folder" button to dismiss the
    dialog.  In this case it always returns whatever path is wired to the
    "Start Path" terminal.
    If the user navigates to the desktop with the "Up One Level" button
    or by selecting the actual desktop directory under Documents and Settings, the
    correct path is returned.
    If the user selects a file before clicking the desktop icon, then clicks
    "Current Folder" the correct path is returned.
    If the user clicks the desktop icon, clicks open, then clicks "Current
    Folder" the correct path is returned.
    It's possible to work around this bug in most cases by setting the start path
    to the desktop.
    Has anyone seen this behavior before?
    Can anybody verify this behavior by running the attached VI?
    In the past, when I've reported issues like this I've received responses from
    NI engineers that basically said "Thanks, but we already knew
    that".  Is there anywhere that users can search the list of known
    bugs and avoid wasting time tracking down issues that are already understood by
    NI?
    Thanks,
    Adam Brewster
    Attachments:
    File Dialog Test.vi ‏39 KB

    I'm on 8.2 and I can't get it to fail no matter how I select the desktop. I haven't tried it in 8.0, but I imagine that if this really is a bug, they did know about it and fixed it with 8.2. If this causes a real problem for you, I would suggest upgrading if you can.

  • [CS3][JS][ScriptUI] Observing changes to user selection (advanced)

    I have a simple ScruitUI palette working in InDesign which displays the area of a selected page item.
    When the user selects a page item and launches the palette the area is calculated and the palette displays the result correctly.
    I cannot work out, however, how to update the calculated area when the user changes the selection. I can use the onMove and onResize events on the palette window to trigger the recalculation, but I would like another way that did not involve the user moving or re-sizing the palette. Something like onActive so that all the user had to do was click on the palette to trigger a recalculation.
    The simple way out is to create a button on the palette which the user clicks to update the area information, and this may be the best I can do at the moment. I was just wondering if any of the experts had some insight into other techniques for observing changes to selection from a palette. It would be amazing to have a scripted observer that could change the palette without the user doing anything special, in the same way that InDesign panels (like Info) work, but I realize I'm asking a lot from a scripting DOM that is already amazingly comprehensive.

    Hi Kasyan,
    Below roughly what I sent to Simon - it is not a full solution, but demonstrates the techniques you need.
    With APIDToolAssistant installed and a document open, create a page item on the pasteboard; this page item will be used as a 'controller' for this demo. Select it and bring up the APID ToolAssistant palette.
    Set the list of subjects to "*"
    Set the event filter to "subjectSelected#myLittlePaletteEngine, subjectDeselected#myLittlePaletteEngine".
    This captures the selection and deselection events for all page items, and routes them into a persistent engine (myLittlePaletteEngine) for handling.
    Because the engine is persistent, it will 'remember' gPalette and gField on subsequent events after they have been created the first time around.
    Set the script to:
    var gPalette;
    var gField;
    var gController = theItem;
    function CreatePalette()
    gPalette =
    new Window(
    "palette",
    "What is it");
    gField = gPalette.add("statictext",[0,0,200,20],"testfield");
    if (gPalette == undefined)
    gController.setDataStore("$GROUP_EVENTS$",true);
    CreatePalette();
    gPalette.show();
    gField.text = app.selection.toString();
    This does work for 'page item' selections - it won't work for text selections. To make that work too, you need to change the event filter to "*#myLittlePaletteEngine" (* is a wildcard and matches all events, including idle - which is used to update the text selection info).
    This last method (relying on idle) is not terribly good or efficient; I am currently looking how I could avoid the need for capturing 'idle' in version 1.0.46 (which will support CS4).

  • Business users select whom to route dynamically

    Hi,
    Can BPM help in the following scenario:
    1.Bussiness users assign to who all(which users) from the roles in the next step (BPM model step)will the task be assigned.
    2.Suppose there is a select box in which bussiness users selects user to whom in the next step the job is assigned.

    Hi,
    This can be done by modifying the UI for the Business user so that they can view who all user are there in a particular role and can select the user and assign the work item to selected participant.
    Steps to follow:
    1) Make column called Assigned To: and add a component called list box/drop down list box where you need to fetch the participant w.r.t a particular role
    Note: make sure that only the business user can view this new column put some validation logic
    for each person in Fuego.Lib.Role(roleName : <Parametric Role>, parameter : <parameter to Parametric Role if present>).participants do
         if person.enabled then
              for each element in person.roles do
                   logMessage "participant id and Name: " + element.name     + "Id: " + element.id
                   //add the participant id/name into a list
              end
         end
    end     
    Iterate the list and display into your combo box drop down list - in jsp/BPM presentation
    2) When the business user select the user/participant and submit the work item should be assigned to the selected participant.
    Participant.next = “<Selected_Participant_Id>”;
    Hope the above will help you
    Bibhu

  • Cant get com.apple.security.files.user-selected.read-only entitlement to work

    Hey I am curious how can I get the .ipa compiled file for iOS to be able to read all the directories on the iPhone?
    I made a file browser but I cant get to the pictures
    I tried adding the entitlements in Flash Builder 4.6 in the descriptor file like this:
    <key>com.apple.security.files.user-selected.read-only</key>
    <true/>
    <key>com.apple.security.assets.movies.read-only</key>
    <true/>
    <key>com.apple.security.assets.pictures.read-only</key>
    <true/>
    in the
      <iPhone>
            <Entitlements>
            <![CDATA[
    I got Push notifications working and accepted in the app store but it can't read the pictures directory when browsing for a file
    I know the app id and stuff is set up right or I wouldnt have been able to get it accepted in the app store.  In the entitlements area of course I have the application identifier set and aps-environment and keychain access groups and whatnot set up right.
    When I try to put the app onto the iPhone with iTunes it just says 'Entitlements are not valid' (does not mention anything about mismatched ids) I can't find anything about how to add this entitlement and I could have sworn I saw a thing that said I can just use the descriptor file to add entitlements in some of the documentation I have it set to use air 3.4
    Is there something I am doing wrong, how do I get apple to just put these entitlements in the mobileprovision file, I cant seem to edit it, if I do I also get an error in itunes that is some hex code...

    Did you ever solve your problem?
    I just transfered my web hosting and e-mail to bluehost. I had some of the same problems you are having. I noticed you have your incoming server set to bluehost.
    Incoming mail server: (SSL) box610.bluehost.com (sever requires authentication which I already have done)
    If bluehost is your server this is what worked for me:
    Account Information
    Account type— POP
    Description—anything you want
    Email Address—in your case would be [email protected]
    Full name—  first and last name
    Incoming server—mail.magnus.com
    User name—[email protected] Notice it is the @ symbol not a +
    password— your password . Remember they are case sensitive
    Outgoing Mail server—select edit smpt server list from the drop down window
    select the + to add a server
    Account Information
    Description—may be left blank
    Server name—mail.magnus.com
    TSL Certificate—None
    Advanced
    Use default ports
    Check  Use SSL
    Authenticate—password
    Username—[email protected]
    passowrd—your password
    Click ok
    In the accounts window
    Outgoing SMTP— select the server you just created.
    Check—use only this server
    Select the Advance tab next to the Mailbox Behaviors
    Check use SSL— it will be port 995
    Authenticate —use password
    Ann

Maybe you are looking for