Order of Execution for TreeSelectionListener

Hi,
I have a JTree on which I have registered 2 separate TreeSelectionListeners A and then B. I thought they would by default execute in a first-in first-out way, such as firstly A, secondly B, but to my surprise when I change a selection, listener B executes first!. As far as I have read, the only way to attain listener A executing first, is to re-register the listeners in the desired order when I register listener B.
Am I correct? Is this the only way? Looks weird that the API doesn't preview this case.
Thanks for your help,
Chal.lo.

As far as I have read, the only way to attain listener A executing first, is to re-register the listeners in the desired orderWherever you might have read that, it's not correct. From
[Java AWT: Delegation Event Model|http://java.sun.com/j2se/1.3/docs/guide/awt/designspec/events.html]
(about a third of the way down the page)
The API makes no guarantees about the order in which the events are delivered to a set of registered listeners for a given event on a given source.
In the same paragraph:
If the order in which events are delivered to listeners is a factor for your program, you should chain the listeners off a single listener which is registered on the source (the fact that the event data is encapsulated in a single object makes propagating the event extremely simple).
db

Similar Messages

  • Order of execution for various Nodes in HANA Views

    Hello Folks,
    I have created some analytic and calculation views. I would like to know order of execution of various nodes inside them such as Logical Join, Data Foundation, Semantics for Analytic views.

    And to find out how to use planviz:
    Show me the timelines, baby! by Lars himself
    Ravi

  • Statechart Module: What is the order of execution for a parent state and its substates?

    Hello,
    This page describes the order of execution of transitions and actions for one level of nesting. What about compound states? Do the static reactions of the parent state execute before the transitions of the sub-states?

    Hello, 
    I'm not incredibly familiar with the Statechart module, but I will look into it for you on our internal database. In the mean time, there are some examples that may answer some of your questions here:
    https://decibel.ni.com/content/docs/DOC-8716
    and here:
    http://www.ni.com/white-paper/7425/en
    -N
    National Instruments
    Applications Engineer

  • Order of execution for event listeners..??

    Hi there,
    Looking at the JDK source, I see that all classes that generate events, iterate through the listeners in reverse order. What is more, they start at size - 2. I am first, confused as to why it goes in this direction, and second, why size - 2 is used. Does the last added one not get called?
    As for reverse order, the problem I see with this is if a class that implements a listener in one way, then you want to add a listener, but your listener code depends on something being done within the first listener. For example, I created a simple file selection component. On the left is all files. On the right is the selected files. The component works fine. You can dbl-click a file to move it, or click the > or >> (or < or <<) to move selected files or ALL files in one direction or the other. The problem is, my component implements the ActionListener of the > and >> buttons. I made it public so that classes using this component could also add listeners. The main reason is, in the case of a "wizad", you do NOT want the NEXT button to be enabled until at least one selected file is in the right list box. So, when I add the listener, the component listener does NOT get called before my newly added listener. That listener does the job of moving the file and redisplaying the list of all files and selected files. But since my listener gets called first, that is not done, therefore the "selected" files list is NOT yet updated based on the button clicked. I am guessing that this occurs because of the reverse execution of listeners, and my listener is added after the component listener.
    So, is there any way to reverse this without having to reimplement the list myself? I'd hate to extend JButton just to handle executing listeners in the order they are added. Seems silly to me that this is not at least an optional boolean choice to indicate the direction to execute listeners, but I sure would love to know why Sun has gone this direction.
    Thanks.

    Thanks for the reply.
    That seems very odd to me, that it puts two entries per one listener. So let me ask you this, is this so that it can store the listeners in a list, but also store the type of listener? While at first this seems an odd way to use a list, I have come across several times when I wish I could store two objects in the list as one. I thus have created an inner class taking the two objects (usually a String for a "key" and an object), and then stored that in the list. The reson is, I want to store MORE than one of the same type, so a Set is out of the question, but a list only adds one object. I wish there was a class that allowed multiple values stored under the same key. I guess this would be easy enough to create, but it seems like something so often used that the JDK would have this in it already. Unless I am mistaken, I have not seen any Collection implementec class that can have multiple keys, and each key can have multiple values. Have you? So, I take it, just to verify, that the reason for storing the class type, then the actual instance is just this reason..to figure out the type it is, then the actual object that implements it (the reference to it).
    Thanks.

  • The order of execution (of PL/SQL function calls) changes...why??

    select e.EMPID empid,
    e.name name,
    aatest.SETVALUES(2) z,
    aatest.TEST1() b,
    aatest.TEST2() x,
    aatest.TEST3() y
    from emp e
    where e.empid = 101
    order by e.name;
    when I execute this select statement...the order of function calls is as follows:
    setvalues 1st (call no:1)
    test1 (call no:2)
    test2 (call no:3)
    test3 (call no:4)
    Now...I introduce a join between the two tacles as mentioned in the query
    select e.EMPID empid,
    e.name name,
    e2.deptno deptid,
    aatest.SETVALUES(2) z,
    aatest.TEST1() b,
    aatest.TEST2() x,
    aatest.TEST3() y
    from emp e, emp2 e2
    where e.empid = e2.empid
    order by e.name;
    The order of execution of function calls changes to
    (I observed this using DBMS_OUTPUT.PUT_LINE)
    test3 (call no:1)
    setvalues 1st (call no:2)
    test1 (call no:3)
    test2 (call no:4) (the first and last calls swap!)
    i.e: it calls the last function in the select statement at the beginning
    instead of calling it at the last. Is it the normal behaviour? or whats going on
    here?
    Can somebody explain me, please....
    Details:
    the following four functions are defined in a package called 'aatest' and compiled.
    aatest.SETVALUES(2)
    aatest.TEST1()
    aatest.TEST2()
    aatest.TEST3()
    the Tables EMP and EMP2 are two tables defined in the same schema.

    Your "thinking" is wrong here. You can not use the column order to model your program flow. As SQL is set/tupel based, there is no given sequence of the execution order. Otoh you want to have a specific order in wich your functions must be executed otherwise the result will be wrong (or undefined). Thus here you need a procedural approach. This can be done by using PL/SQL for example.
    You would code your functions in that way, that they are working correctly independent from the place where they are called ie if function1 needs the setvalues function, this function must be called inside the function1 then.
    Are you sure you need all these functions in this procedural approach inside the sql-statement? This is mostly not needed and can be accomplished by using pure SQL. If not, may be your design is broken.

  • How can we ask an order of execution ?

    I want to command un order of execution of two operations in my VI. At the beginning, my program worked well but when I added a for loop, the program doesn't work enought like I want it work...
    Thanks in advance
    hasna

    I've just succeeded in solving my probem but I have another, I want to open a query of my database thanks to labview but I want to open it and it must stay open but noaw, it open and disapear immeditly...
    Have you an idea for my problem ???
    Attachments:
    lecture_de_la_table.vi ‏24 KB

  • Customer exit variables: order of execution

    Hi,
    I am using multiple customer exit variables. What determines the order the coding in ZXRSRU01 for these variables is executed ?
    When I debug, the program always starts with the coding for one particular variable first, but can I depend on it that it stays this way ?
    Regards,
    Guido

    Hi Wodn,
    Suppose I have 2 variables, both are called in I_STEP = 2. You write:
    'the order of execution is based on the order of the variable which is being called'
    Can you elaborate ? What exactely determines this ? Is it the order of the variables being used in the query (KF1 first, the KF2) ? I cannot find logic here.
    Thanks for your reply.
    Guido

  • Outlook Quick Step order of execution is broken

    I have implemented Getting Things Done using Outlook at work and it's been working wonderfully for me. I'm currently on Office 2010.
    I have Quick Steps configured that do the following:
    1. Categorize the message
    2. Create Task with message as attachment
    3. Delete the message
    The result of this was a new task that was already categorized exactly as I want it.
    However, all of a sudden, the Quick Step has decided to start executing these three commands in a different order. First it creates the Task (without a category) and then deletes/categorizes the message. The deleted message is categorized appropriately.
    No matter whether I use the shortcut keys or click the Quick Step button, this incorrect order of execution is occurring. I have restarted Outlook and even deleted/re-created new rules, but the same issue is occurring.
    This is driving me crazy. It is clearly some type of bug deep in the code. If anyone can track this down or has any pointers, that would be great!

    Hi,
    For this issue, I recommend you ask in the Office forum which is staffed by more experts specializing in this kind of problems, you might get a better help there. Thanks for your understanding.
    http://social.technet.microsoft.com/Forums/office/en-us/home?forum=outlook
    Best regards,
    Belinda
    Belinda Ma
    TechNet Community Support

  • What is the order of execution of global transfer routine where multiple routines are involved?

    Hi,
    Suppose we have start routine, transformation routines and end routine defined between datasource and data target, and also we have a global transfer routine created on an infoobject.
    What is the order of execution of routines in this scenerio?
    Also if conversion routine like ALPHA is defined for an Infoobject, when does this come into flow.?
    Please enlighten me.
    Thanks,
    Akshara

    Hello Akshara ,
    The sequence of routines are as
    1. Start Routine
    2. Master Data Look Up or
    3. Field Level Routine
    4. End Rountine
    Apart from this , there is Expert routine, which is used in special cases, when there are not the sufficient functions to perform a transformation. It can be used as a interim solution , and it performs all the  functions of Start routine, end routine , field routine.
    Note : if you have created  transformation, and then created Expert routine, then system will delete all the existing transformations.
    Further to this, you can explore more, by debug the transformation as suggested by Vijay Kumar.
    Hope this helps !
    Regards
    YN

  • How to enforce order of execution of parallel tasks?

    How do I set the order of execution of parallel tasks in a container?
    The execution isn't truly random. It appears to be set to a random constant at package creation.
    Demo
    I set up a dummy package.
    Max concurrent executions = 1
    sequence container with four script tasks that do a thread.sleep
    The tasks always execute in the order 4, 2, 1, 3. Closing/opening the solution makes no difference to the order of parallel execution.
    Is there a way i can change the execution order? Do I need to change the guid/id of the object (tried this but it invalidates the xml) or is there an order somewhere else in the XML?
    I've found a hack/workaround but it's a bit ugly so I'm wondering if there's a way to do it without adding dummy tasks.
    Basically if i create a dummy start task and then drag off "on success" constraints to each of the four threads, the threads will execute in parallel in the order in which i created the constraints
    Why do i want to do this? I have a number of parallel tasks in a sequence container where three will take a long time and the rest won't take as long.
    I'll minimise the time required for the execution of container by using parallel tasks AND controlling the queue order (longest first). It won't matter whether I have 1 logical cpu or as many logical cpus as i have tasks.
    Thanks
    Jakub @ Adelaide, Australia

    I think the problem you are trying to say is 
    a) You have multiple tasks( i assume 10) now out of these 3 execute slowly.
    b) You done have any constraints for task execution, so what you want to achieve is that the 7 task should continue without waiting for the other 3 in your case the 3 are starting up earlier and other 7 are not able to start as a result.
    AS arthur pointed out these are 2 diff things constraints and parallel execution, and there would always be some task which would be started at some point of time.
    But if you know in advance some tasks are going to take time, i would suggest keep 2 diff sequence containers in 1 keep the 7 tasks which runs fast in another one keep the other 3 which tend to run slow
    Abhinav http://bishtabhinav.wordpress.com/

  • SQL Statement order of execution within batch

    Hi all, 
    Can someone please explain the purpose of the GO command in SSMS. MSDN states it is used to signal the end of a batch of statements. I am trying understand the reasons you need this e.g. variable scope?, statement order of execution?
    In particular, I'm concerned with the order of exuction...for example, with the following two statements:
    use AdventureWorks2012;
    select * from [Sales].[SalesOrderHeader];
    Is there any risk that SQL server will attempt to execute the second statement before completing the first?
    Thanks inadvance.

    Sorry Shriven - I somehow initially missed this part of your answer....ignore my original reply. Thanks.
    --It will always execute in order
    SELECT GETDATE() AS CURRENT_DATETIME INTO #TEMP3  
    WAITFOR DELAY '00:00:10';-- 10 Seconds Delay
    SELECT GETDATE()
    WAITFOR DELAY '00:00:15';-- 15 Seconds Delay
    SELECT * FROM #TEMP3 

  • Tracking the order of execution of sql scripts in SQL*Plus

    In our production environment we sometimes have to run some .sql scripts in a particular order. Since the order of execution is important , i have created another .sql file caller caller.sql(shown at the bottom) which will call all the scripts in the right order.
    i thought of putting a exec DBMS_LOCK.SLEEP (5); after the end of every execution of the script so that i can see the
    'Ending script1'message .
    The spooling within the caller script(execute_stack.log) has become meaningless because each script has a spool <filename.log> and spool off within it. These spool logs (for every script) is important for tracking purposes as each script belongs to a different development team and i have to send them the spooled log file after the execution.
    I don't want to see the entire scripts running by in my screen. Since these scripts have their own spooling, i can later check the logs if the scripts where executed properly.
    So i need two things.
    1.I just need to see the following and nothing else in the screen.
    Ending script1
    Ending script2
    Ending script3
    .2. I need to log the order of execution. ie. the execute_stack.log should look like the above.Since there is a spool off within each script, this wouldn't be possible.Right?
    Ending script1
    Ending script2
    Ending script3
    .The caller.sql script which calls all the scripts in the right order
    alter session set nls_date_format = 'DD-MON-YYYY hh24:MI:SS';
    set serveroutput on
    set echo on;
    set feedback on;
    spool execute_stack.log
    @script1.sql
    exec dbms_output.put_line ('Ending script1');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script2.sql
    exec dbms_output.put_line ('Ending script2');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script3.sql
    exec dbms_output.put_line ('Ending script3');
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec DBMS_LOCK.SLEEP (5);
    @script4.sql
    dbms_output.put_line(chr(10)||chr(10)||'.'||chr(10)||'.'||chr(10));
    exec dbms_output.put_line ('Ending script3');
    commit;
    spool off;Is this a professional way of tracking the execution of .sql scripts?

    Pete_Sg1 wrote:
    Is this a professional way of tracking the execution of .sql scripts?No. There is very little professional about using .sql scripts on a production system - when stored procedures are safer, more robust, easier managed and controlled and secure.. and where a log table can be used to properly log the runtimes (and other stats) of each processing step.
    Let's just take a look at the number of moving parts you need to schedule and run a .sql script. A cron job needs to be configured with the proper environment setting. It needs to run a shell script. That shell script needs to load SQL*Plus. SQL*Plus needs to connect to the database (starting a dedicated server process most likely). SQL*Plus then needs to read a .sql file, parse these commands and either execute these locally (SQL*Plus commands) or remotely (PL/SQL and SQL commands).
    How can this be considered professional when the very same can be achieved with a
    - stored procedure
    - using DBMS_JOB to schedule the procedure for execution
    There are so many things that can go wrong with the first method. And so few things that could go wrong with the last one. No contest as to which method is not only better, but also professional.
    PS. See that you use Windows to run these scripts. It is even worse as it introduces another hardware and software layer making the scenario even more insecure & unsafe with more moving parts that can go wrong or simply fail.

  • Order of execution of named method user properties and server script

    Dear All,
    If for a Custom method on an applet, we have scripts in WebApplet_preinvokemethod and WebApplet_invokemethod and also for the same Custom method we have applet Named Method user properties and BC Named Method user properties, what will be the order of execution of these scripts and Named Method user properties??

    The Private Event Submission sample portlet shows how to achieve this. It is part of the PDK download.
    Peter

  • Order of execution of VPD policies

    Hi,
    I have a table on which I have defined two policies (one for column masking and one for row filtering).
    From whatever testing I have done, it seems the policy functions get executed in the order in which the policies were created.
    Does oracle guarantee any order of execution of policies defined on the same table?
    Thanks!
    Edited by: kedruwsky on Sep 26, 2008 7:43 AM

    Sounds more like a question for the Database General forum (General Database Discussions
    I'm guessing that there's no guarantee on the order of execution, just like having multiple triggers on tables.

  • Order of execution of static { }  statements question

    Hi,
    I have a question about the order of execution of static statements. Let's imagine the following Class B inheriting of Class A:
    public class A {
        static {  // My static code for A };
    public class B extends A {
        static { // My static code for B; };
    }I know that static statements are executed when classes are loaded, but does Java guarantee an order of execution of static statements between inherited classed (like for constructors) or is it 'random' in that it depends which class is loaded first?
    Thanks,
    J.

    Jrm,
    My advise with this and all such questions is "Suck it and see"...
    Have compiler, will travail ;-)
    Cheers. Keith.
    PS:
    package forums;
    import java.util.List;
    import java.util.ArrayList;
    public class InitBlocksTesterpator
      private List<String> list = new ArrayList<String>() {
          add("This hack uses an anonymous inner-class to populate the list.");
          add("It causes serialization problems");
    C:\\Java\\home\\src\\forums\\InitBlocksTesterpator.java:8: warning: [serial] serializable class <anonymous forums.InitBlocksTesterpator$1> has no definition of serialVersionUID
      private List<String> list = new ArrayList<String>() {
                                                          ^
    1 warning
      static {
        System.out.println("this is a static initialiser block above the main method.");
        System.out.println("this is a instance initialiser block above the main method.");
      public static void main(String[] args) {
        // static { System.out.println("this is a static initialiser block inside the main method."); } // won't compile
        { // this is hardly ever used. just use a method FFS!
          int n = 0; // n is lexically scoped... i.e. it only exists in this code block
          System.out.println("this is a code block inside the main method.");
        new InitBlocksTesterpator().moreBeer();
        System.out.println("this is a instance initialiser block below the main method.");
      static {
        System.out.println("this is a static initialiser block below the main method.");
      public void moreBeer() {
          System.out.println("this is a code block in the moreBeer instance method.");
        // static { System.out.println("this is a static initialiser block in an instance method"); } // won't compile
        System.out.println(list);
    }... just to save you some time ...

Maybe you are looking for

  • Connect macbook to composite tv

    Hi there, I have a macbook (2009) model that I want to connect to a composite tv. I think the Apple Mini-DVI to Video Adapter will not work as it states on the mac site that "This adapter is not compatible with the 2.0GHz Intel Core 2 Duo white MacBo

  • Help me with my survy for my projeect

    I am doing this survy for my professor- I am at Bethedsa community college. I am already behind on this survey- so I will appreciate if you guys can quickly look at the survey file- One lucky winner will get $50 gift coupon at amazon.com We are build

  • Error 1305 while installing Crystal Reports 2008, JavaSDK

    While installing Crystal Reports from the original media on a new Lenovo Thinkpad running Windows XP Pro SP3 I get the following error while installing: Error 1305: Error reading from File: c:\program files\Business Objects\javasdk\jre\audio\soundban

  • LibreOffice Writer - problem with images proportional resizing

    Hi, Looks like in LibreOffice Writer I can't anymore resize images proportionally using MAJ+click/drag. Anyone has the same issue ? I don't know if this started with the last update. Note that I can resize proportionally in Libreoffice's Impress. Las

  • How to get document liked to material

    How to get documents liked to certain material? I have material number and I want to get the document number of each linked document. I tried to use MATERIAL_READ_DOCUMENTS function, but the call returned "SYSTEM_FAILURE". Here is the code: theFunc =