Preventing focus from jumping in wrong field on hitting "tab"

Hello! In my app, i got several jtextfields and a jtable.
the jtable is positioned beside a row of textfields.
now when i hit the tab key, the focus jumps not from textfield to textfield, but from the textfield near the jtable to the jtable.
how can i prevend the focus to go to the table?
image: http://copy-left.de/pub/images/Bildschirmphoto2.png
thank you!

"Customizing Focus Traversal"
http://java.sun.com/docs/books/tutorial/uiswing/misc/focus.html#customFocusTraversal

Similar Messages

  • When I mouse over an active tab, a circular "block" symbol appears and prevents me from either clicking on or closing the tab

    When I am in FireFox, and I mouse over any area that would normally allow me to do something, like select a tab, close a tab, or even fill text into this details box, a circular "block" symbol appears and prevents me from entering or doing anything. I have scanned all of the installed programs in the Control Panel and removed anything suspicious and reviewed addons and the like in FireFox, all to no avail. BTW, this problem does NOT occur while in Google Chrome, but I much prefer FireFox. Help!!!

    Note that your System Details List shows multiple Flash plugins.
    # Shockwave Flash 11.9 r900
    # Shockwave Flash 11.8 r800
    You can find the installation path of all plugins on the <b>about:plugins</b> page.
    You can check the Flash player installation folder for multiple Flash player plugins and remove all (older) version(s) of the plugin (NPSWF32) and (re)install the latest Flash player.
    *(32 bit Windows) C:\Windows\System32\Macromed\Flash\
    *(64 bit Windows) C:\Windows\SysWOW64\Macromed\Flash\

  • How does one prevent cursor from jumping to previous words, deleting words?

    A question for my daughter who has a macbook pro with an intel chip using system 10.4.11. On several different programs,e.g. word, gmail, her cursor arrow jumps from the word she is on, backwards, to the previous words, deleting words, phrases, and sentences along the way. What may be the cause? How may we prevent this? Thank you.

    Has ANYONE found a solution to this???? My MacBook Pro (purchased Sept 08) doesn't have the ignore accidental trackpad thing. I seriously doubt that it's my typing, since I've used 2 different IBM's, 3 different Gateways, 3 different PowerBooks, a MacBook, and an older MacBook Pro. No problem ever with any of them. Not even once.
    If I turn off the Tap to Click (and the two finger right mouse is REALLY HARD to give up) the problem goes away. Several threads give this as the solution. Just turn the trackpad tap on and off. This is a workaround NOT A SOLUTION!!!!!
    I've been reading on this for quite a while. "Genius" solutions like reinstalling the OS, etc. Not found one that actually works.
    Did I miss it???? Is it out there somewhere????

  • Auto import, how to prevent LR from jumping to new pictures

    Hi,
    I would like to use my Nikon D700 together with the WT-4 to send pictures automatically to my laptop on events.
    The pictures appear on the laptop's hard drive on a folder that is watched by LR's auto import feature.
    Then my assistant would be at the laptop printing these pictures for customers to buy.
    However, while testing this I cannot seem to disable Lightroom always jumping back to the latest imported pictures.
    This is very annoying, because my assistant has to display the pictures to the customers, so she would be showing some pictures to a customer, and suddenly when I snap a new shot, the laptop jumps to the new picture and my assistant has to go hunting for that customers pictures again...
    Is there some way to disable this?
    Or am I taking the wrong approach to this?
    I could off course disable the auto-import but in that case my assistant would have to go to the import screen every once in a while, which is also not ideal.
    Thanks for any help!

    I don't know a way to disable this.

  • Using Yammer for page commenting in SharePoint Online, how to prevent user from doing it wrong?

    I am trying to use Yammer for a per-page comment platform in a SharePoint Online environment. This seems to require placing a Yammer embed in each page
    and configuring the embed to use Open-Graph. (see further below for the embed code details I'm using)
    When a user begins typing their comment, a gray box also appears (not sure the technical name for it) giving the user the option to click "x" to close it. In the screenshot a little below,
    I've put a green-box around it.
    If the user clicks the x to close that little piece, they can still submit a comment, but it doesn't get added to the page. There's no feedback that indicates this is what happens.
    It is distracting and adds unnecessary complexity to what should be a simple task of appending a comment to this page's conversation. In fact, everything I put a red box around in the screen shot
    would ideally be hidden from the user.
    Can we hide this complexity (everything in red box) from the commenter completely?
    If not, how can we prevent the commenter from clicking the "x"
    and thusly quietly breaking their feedback?
    Here is my Yammer embed code:
    <div id="embedded-feed" style="height:400px;width:500px;"></div>
    <script type="text/javascript" src="https://assets.yammer.com/assets/platform_embed.js"></script>
    <script type="text/javascript"> yam.connect.embedFeed({
    container: "#embedded-feed"
    , network: "myyammernetwork.com"
    , feedType: "open-graph"
    , config: {
    use_sso: false
    , showOpenGraphPreview: false
    , header: false
    , footer: false
    , promptText: "Comment on this page..."
    , objectProperties: { url: window.location.href, type: "page" }
    </script>

    Hello Jason,
    >> Is there a way in APEX to disable the browser back button?
    This is not an APEX issue, but a general browsers one. This is an old problem, without any good solution. Usually, if this is a critical issue (like in payment pages etc.) the course of action is indeed to prevent the page from being cached by the browser, and mark it as expired.
    >> however I cannot get the above to work; … by placing it between <style></style> tags
    You should use the ‘meta’ tag for these attributes. The following might help you with that - http://www.htmlgoodies.com/beyond/reference/article.php/3472881 .
    Hope this helps,
    Arie.

  • Prevent unauthorised changing of 'Ship to' field of Purchase order

    Hi experts
    I am trying to prevent users from changing 'Ship to' field of Purchase Order without authorisation. OPOR.Address2
    I am thinking to do this I should use a Stored Procedure which cause error if a condition is not met?
    First I am trying to prevent any change of this field:
    SP attempt:
    --No changing of ship to address on PO
    IF @object_type = '22' AND @transaction_type IN ('U','A')
    BEGIN
    IF EXISTS (SELECT T0.Address2 FROM dbo.OPOR T0 WHERE T0.Address2 <> (SELECT T1.CompnyAddr FROM dbo.OADM T1) AND T0.Address2 = @list_of_cols_val_tab_del)
    SELECT @error = 1, @error_message = N'Direct shipment requires authorisation'
    END
    The above does not work - please can someone assist?
    If there is better way to achieve my required outcome please advise me.
    Thanks
    Karen

    Hi,
    Try this:
    IF @object_type = '22' AND @transaction_type IN ('U','A')
    BEGIN
    IF EXISTS (SELECT T0.[Docentry] FROM OPOR T0 WHERE T0.[Address2]  <> ( select T0.[CompnyAddr] from OADM T0) AND T0.docentry = @list_of_cols_val_tab_del)
    SELECT @error = 1, @error_message = N'Direct shipment requires authorisation'
    END
    Thanks & Regards,
    Nagarajan

  • APERTURE TETHERING: How do I prevent Aperture from going to the most recent shot.

    I'm planning on a photo day (kinda like a school portrait) for my company and will be using a D700 tethered to a Mac running Aperture.
    Currently when I take a photo, the person at the computer doesn't have enough time to enter the name of the subject in the metadata window before I've moved on and taken a photo of the next subject. Once I've captured the image a new image, Aperture quickly jumps to the new photo, interupting the naming process. Is there a setting I can change in Aperture 3.1.2 that prevents Aperture from jumping to the most recent shot.
    Thanks in advance.

    I think what spikeyjonze was trying to say is you deselect Auto Select , not that you blow up Aperture
    Succinctness is a virtue but some times we can have to much of a good thing

  • Anyway to prevent spaces from looping

    I have three spaces set up horizontally. Is there any way to prevent spaces from jumping from say space 3 to space 1 when I try to shift to the right?

    Actually there is a hidden option to "not wrap". To access the option, Download the utility Tinkertool from here:
    http://www.bresink.com/osx/TinkerTool.html
    Look in the applications tab / spaces.
    Regards

  • Hitting tab opens another address line instead of moving to subject field

    With the latest update of Thunderbird, I cannot tab directly from the address field to the subject field. Hitting tab opens another address line which has to be deleted, then tabbing will move to the subject field. I hope someone fixes this quickly.

    When you open a new Write message the focus - cursor - should be in the first TO text field ready for you to enter an email address.
    Senario:
    If you have three TO fields auto available when you initialy open a new Write message:
    '''Test 1; '''
    '''Testing how TAB key moves through the various fields, allowing selection and movement without using a mouse and not pressing Enter at any time.'''
    Without entering anything in any field.
    Press 'TAB' key, - focus should go to the next/second TO drop down field. Press 'TAB' again and it should go to the adjacent TO field where you could enter an email, (but do not enter anything).
    Press 'TAB' key and it should go to third drop down TO field;
    Press 'TAB and it should go to the third and last shown (if you had 3 TO visible) adajacent TO input text field.
    Press TAB and it should go to the 'Subject field.
    Press TAB and it should go to the Content area.
    So when you initially open a new Write message, tell me how many TO fields do you see without touching anything? Please provide an image to show this.
    Then perform the test as written above - only use the TAB key.
    Do not use mouse. Do not press Enter. Do not enter any text.
    It should move through each visible field.
    Please report back on test results.

  • How can we prevent JTabbedPanes from transferring focus to components outside of the tabs during tab traversal?

    Hi,
    I noticed a strange focus traversal behavior of JTabbedPane.
    During tab traversal (when the user's intention is just to switch between tabs), the focus is transferred to a component outside of the tabs (if there is a component after/below the JTabbedPane component), if using Java 6. For example, if using the SSCCE below...
    import java.awt.BorderLayout;
    import java.awt.event.FocusAdapter;
    import java.awt.event.FocusEvent;
    import java.awt.event.KeyEvent;
    import javax.swing.Box;
    import javax.swing.BoxLayout;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.SwingUtilities;
    public class TabbedPaneTest extends JPanel {
        public TabbedPaneTest() {
            super(new BorderLayout());
            JTabbedPane tabbedPane = new JTabbedPane();
            tabbedPane.addTab("Tab 1", buildPanelWithChildComponents());
            tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
            tabbedPane.addTab("Tab 2", buildPanelWithChildComponents());
            tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
            tabbedPane.addTab("Tab 3", buildPanelWithChildComponents());
            tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
            tabbedPane.addTab("Tab 4", buildPanelWithChildComponents());
            tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
            JPanel panel = new JPanel(new BorderLayout());
            panel.add(tabbedPane);
            JButton button = new JButton("Dummy component that gains focus when switching tabs");
            panel.add(button, BorderLayout.SOUTH);
             * To replicate the focus traversal issue, please follow these steps -
             * 1) Run this program in Java 6; and then
             * 2) Click on a child component inside any tab; and then
             * 3) Click on any other tab (or use the mnemonic keys ALT + 1 to ALT 4).
            button.addFocusListener(new FocusAdapter() {
                @Override
                public void focusGained(FocusEvent e) {
                    System.err.println("Gained focus (not supposed to when just switching tabs).");
            add(new JScrollPane(panel));
        private JPanel buildPanelWithChildComponents() {
            JPanel panel = new JPanel();
            BoxLayout boxlayout = new BoxLayout(panel, BoxLayout.PAGE_AXIS);
            panel.setLayout(boxlayout);
            panel.add(Box.createVerticalStrut(3));
            for (int i = 0; i < 4; i++) {
                panel.add(new JTextField(10));
                panel.add(Box.createVerticalStrut(3));
            return panel;
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    JFrame frame = new JFrame("Test for Java 6");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.add(new TabbedPaneTest());
                    frame.pack();
                    frame.setVisible(true);
    ... Then we can replicate this behavior by following these steps:
    1) Run the program in Java 6; and then
    2) Click on a child component in any of the tabs; and then
    3) Click on any other tab (or use the mnemonic keys 'ALT + 1' to 'ALT + 4').
    At step 3 (upon selecting any other tab), the focus would go to the component below the JTabbedPane first (hence the printed message in the console), before actually going to the selected tab.
    This does not occur in Java 7, so I'm assuming it is a bug that is fixed. And I know that Oracle suggests that we should use Java 7 nowadays.
    The problem is: We need to stick to Java 6 for a certain application. So I'm looking for a way to fix this issue for all our JTabbedPane components while using Java 6.
    So, is there a way to prevent JTabbedPanes from passing the focus to components outside of the tabs during tab traversal (e.g. when users are just switching between tabs), in Java 6?
    Note: I've read the release notes between Java 6u45 to Java 7u15, but I was unable to find any changes related to the JTabbedPane component. So any pointers on this would be deeply appreciated.
    Regards,
    James

    Hi Kleopatra,
    Thanks for the reply.
    Please allow me to clarify first: Actually the problem is not that the child components (inside tabs) get focused before the selected tab. The problem is: the component outside of the tabs gets focused before the selected tab. For example, the JButton in the SSCCE posted above gets focused when users switch between tabs, despite the fact that the JButton is not a child component of the JTabbedPane.
    It is important for me to prevent this behavior because it causes a usability issue for forms with 'auto-scrolling' features.
    What I mean by 'auto-scrolling' here is: a feature where the form automatically scrolls down to show the current focused component (if the component is not already visible). This is a usability improvement for long forms with scroll bars (which saves the users' effort of manually scrolling down just to see the focused component).
    To see this feature in action, please run the SSCCE below, and keep pressing the 'Tab' key (the scroll pane will follow the focused component automatically):
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.event.FocusAdapter;
    import java.awt.event.FocusEvent;
    import java.awt.event.KeyEvent;
    import javax.swing.JButton;
    import javax.swing.JComponent;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JTabbedPane;
    import javax.swing.JTextField;
    import javax.swing.JViewport;
    import javax.swing.SwingUtilities;
    public class TabbedPaneAutoScrollTest extends JPanel {
        private AutoScrollFocusHandler autoScrollFocusHandler;
        public TabbedPaneAutoScrollTest() {
            super(new BorderLayout());
            autoScrollFocusHandler = new AutoScrollFocusHandler();
            JTabbedPane tabbedPane = new JTabbedPane();
            tabbedPane.addTab("Tab 1", buildPanelWithChildComponents(20));
            tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
            tabbedPane.addTab("Tab 2", buildPanelWithChildComponents(20));
            tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
            tabbedPane.addTab("Tab 3", buildPanelWithChildComponents(20));
            tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
            tabbedPane.addTab("Tab 4", buildPanelWithChildComponents(20));
            tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
            JPanel panel = new JPanel(new BorderLayout());
            panel.add(tabbedPane);
            JButton button = new JButton("Dummy component that gains focus when switching tabs");
            panel.add(button, BorderLayout.SOUTH);
             * To replicate the focus traversal issue, please follow these steps -
             * 1) Run this program in Java 6; and then
             * 2) Click on a child component inside any tab; and then
             * 3) Click on any other tab (or use the mnemonic keys ALT + 1 to ALT 4).
            button.addFocusListener(new FocusAdapter() {
                @Override
                public void focusGained(FocusEvent e) {
                    System.err.println("Gained focus (not supposed to when just switching tabs).");
            button.addFocusListener(autoScrollFocusHandler);
            JScrollPane scrollPane = new JScrollPane(panel);
            add(scrollPane);
            autoScrollFocusHandler.setScrollPane(scrollPane);
        private JPanel buildPanelWithChildComponents(int numberOfChildComponents) {
            final JPanel panel = new JPanel(new GridBagLayout());
            final String labelPrefix = "Dummy Field ";
            final Insets labelInsets = new Insets(5, 5, 5, 5);
            final Insets textFieldInsets = new Insets(5, 0, 5, 0);
            final GridBagConstraints gridBagConstraints = new GridBagConstraints();
            JTextField textField;
            for (int i = 0; i < numberOfChildComponents; i++) {
                gridBagConstraints.insets = labelInsets;
                gridBagConstraints.gridx = 1;
                gridBagConstraints.gridy = i;
                panel.add(new JLabel(labelPrefix + (i + 1)), gridBagConstraints);
                gridBagConstraints.insets = textFieldInsets;
                gridBagConstraints.gridx = 2;
                textField = new JTextField(22);
                panel.add(textField, gridBagConstraints);
                textField.addFocusListener(autoScrollFocusHandler);
            return panel;
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    JFrame frame = new JFrame("Test for Java 6 with auto-scrolling");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.add(new TabbedPaneAutoScrollTest());
                    frame.setSize(400, 300);
                    frame.setVisible(true);
    * Crude but simple example for auto-scrolling to focused components.
    * Note: We don't actually use FocusListeners for this feature,
    *       but this is short enough to demonstrate how it behaves.
    class AutoScrollFocusHandler extends FocusAdapter {
        private JViewport viewport;
        private JComponent view;
        public void setScrollPane(JScrollPane scrollPane) {
            viewport = scrollPane.getViewport();
            view = (JComponent) viewport.getView();
        @Override
        public void focusGained(FocusEvent event) {
            Component component = (Component) event.getSource();
            view.scrollRectToVisible(SwingUtilities.convertRectangle(component.getParent(),
                    component.getBounds(), view));
    Now, while the focus is still within the tab contents, try to switch to any other tab (e.g. by clicking on the tab headers, or by using the mnemonic keys 'ALT + 1' to 'ALT + 4')...
    ... then you'll notice the following usability issue:
    1) JRE 1.6 causes the focus to transfer to the JButton (which is outside of the tabs entirely) first; then
    2) In response to the JButton gaining focus, the 'auto-scrolling' feature scrolls down to the bottom of the form, to show the JButton. At this point, the tab headers are hidden from view since there are many child components; then
    3) JRE 1.6 transfers the focus to the tab contents; then
    4) The 'auto-scrolling' feature scrolls up to the selected tab's contents, but the tab header itself is still hidden from view (as a side effect of the behavior above); then
    5) Users are forced to manually scroll up to see the tab headers whenever they are just switching between tabs.
    In short, the tab headers will be hidden when users switch tabs, due to the Java 6 behavior posted above.
    That is why it is important for me to prevent the behavior in my first post above (so that it won't cause usability issues when we apply the 'auto-scrolling' feature to our forms).
    Best Regards,
    James

  • Text Area steals Focus from Text Field when selected with mouse

    I have created a very simple form with 4 spry validation elements here :: http://octopusdesign.net/contactus.html
    When I attempt to select the 'Your Email' text field using the mouse, focus is grabbed by the text area above it.
    It is only possible to get focus on the 'Your Email' text field by using tab.
    My best guess is that this is a bug in the framework.
    In addition to updating my spry libraries to 1.6 from 1.4 I've tried the following things::
    Reordering the elements in the form.
    Creating the elements in a different order.
    Replacing the validation elements with ordinary elements.
    None of these fixed the problem.
    Strangely, if I remove the validation text area there is no problem.
    If anyone can shed some light on this I would really appreciate it.
    Wisdom gratefully received.
    Chris

    Furthermore ::
    I've tried to reconstruct the form from scratch and discovered that if you have a validation text field and a validation text area in any order on the form, selecting the 2nd element with the mouse always results in the first element stealing the focus.

  • After deleting an email address from Contacts is there any way of preventing it from popping up in the To: field of Mail when one starts to type in a contact name.

    After deleting an email address from Contacts is there any way of preventing it from popping up in the To: field of Mail when one starts to type in a contact name?

    if you are not on ios 6, then all you can do is wait.  if you have deleted the address from your contact list, then it will live on for a while in your 'recently used' addresses.  as you use new addresses, those older ones fall down the list, and eventually fall off altogether  (unless you use them again).  Have patience, it will go away.
    Or do the update....

  • The recent upgrade for i-tunes prevents me from adding and using the Field, "Show". How can I add this field in i-tunes?

    The recent upgrade for i-tunes prevents me from adding and using the Field, "Show". How can I add this field in i-tunes?

    Hold down shift as you right-click > Get Info to get the old style dialog box.
    tt2

  • Flash doesn't always prevent HTML from getting input events even if it has focus

    Hi,
    There's been two such problems for some time now.
    - Take any HTML page with enough content to be able to scroll down. Add an SWF in there, for example that page could be a Flash tutorial and the SWF illustrates one of its steps.
    If that SWF makes use of the mouse wheel, for instance to zoom in or whatever, it does receive the event provided it has focus but the HTML page ALSO does. So the page scrolls down and the SWF vanishes from view (while it zooms in its own content ).
    - There is a similar (worse) issue with Firefox "Search as you type" feature (Firefox > Options > Advanced > General > Search as you type checkbox). Sometimes, mostly with the letter A it seems, when you try to for instance move a character in Flash with WASD, Firefox will also trigger the Search as you type box, which steals focus from Flash. Pretty bad when you're gaming.
    Are you aware of these bugs ? Didn't find mention of them. Can they be fixed pretty please ?
    Thanks.

    Ok
    It's great that you guys are in close contact. Mozilla has been working a LOT on JS speed these past few years. In early days I think they took hints from you, but now the reverse could apply, you could maybe use Mozilla's work on JS to fasten AS3 ?
    Anyway! So I will show only the find as you type issue to Mozilla then, although they will have to wait a week because I can't spend more time dealing with Bugzilla right now, I made the case reproducible and that will be enough till next week
    So here is how you might be able to reproduce it:
    - Enable Firefox find as you type (FayT)
    - Open the HTML page in this zip and give focus to the game
    - Play around a few seconds (WASD, left click to shoot, right click to change weapon, target enemies with cursor position relative to character)
    - "Accidentally" click outside of the game area (which means inside the HTML page) while you're walking with WASD
    - FayT is triggered as expected. (Even though this can be an issue if the page is scrollable and FayT scrolls the game away from view)
    - Click inside the game ONCE
    - Either wait or play around some more, but do not click again
    - Once the search bar disappears, you lose focus. Pressing keys either has no effect or triggers FayT again.
    Expected: The game keeps focus when search bar disappears.
    Notes:
    - There are other, likely similar methods to reproduce this
    - Clicking a second time within the SWF prevents the focus issue to happen (I think. Maybe not with all methods ?)
    - It works with other HTML pages and other SWFs. You should be able to trigger the bug even with a barebones SWF that only registers key strokes, I think.
    - I didn't give you the step by step way to have focus locked in the SWF instead of away from it, but it should be similar. 2 clicks outside might fix it. Plus, I can't see a situation where this "reverse bug" would be annoying for the user.

  • How to prevent apps from stealing focus?

    Often when I am running an application in the background, it will steal focus from my active window with a modal dialog box that will pop up in the foreground. Invariably, since I can be a fast typer sometimes, I won't be able to stop myself in time and will often cause the modal dialog box to take some unwanted action. This can have a HIGHLY unpleasant effect! Especially if I've just found myself aborting unintentionally a long job because of the focus stealing!
    I'd like to prevent any application from stealing focus from the active window. Is there any way to set OS X or the finder to prevent this? If not, are there any haxies that I can install that will have this effect?
    (For reference, Microsoft Vista Aero doesn't allow an application to open a window or dialogue above the active window, unless it's a UAC confirmation dialog, which still only opens on a different display layer.)

    YES AAAAAAAAAH THIS IS A REAL AGRESSION TO THE NERVES ! ! !
    I need to meet the dude who decided "hey wouldn't it be a great idea if we had the applications bothering you all the time as soon as they need your attention, instead of just letting you get to them whenever you feel like it ? now where's my promotion ? ^^"
    WHERE IS THIS MORON AAAAAAAAAHHHHHHHHHHHHHHHH
    does anyone know of a 3rd party software that would keep each app where it is whatever happens to it ?
    dammit

Maybe you are looking for