title: JFormattedTextField caret position on focus
body: <p>I am utilizing a few JFormattedTextFields in my program. For some reason when the text field gains focus after a click on the text field, the caret position always jumps to the left (position 0). I would like the caret to end up at the location clicked by the user. So if I click in between two digits, the caret should end up in between those two digits. </p>
  
  <p>So I implemented a FocusListener that would get the click location and set the caret position there. </p>
  
  <pre><code>FocusListener focusListener = new FocusListener(){
  
  
      public void focusGained(FocusEvent evt) {
  
          JFormettedTextField jftf = (JFormattedTextField) evt.getSource();
  
          //This is where the caret needs to be.
          int dot = jftf.getCaret().getDot(); 
  
          SwingUtilities.invokeLater( new Runnable() {
  
          public void run() {
  'the textField that has focus'.setCaretPosition('Some how get the evt or dot');              
                }
             });
          }
  
      public void focusLost (FocusEvent evt) {}
  
      });
  </code></pre>
  
  <p>I've tried a number of things to get his to work. I've tried using the final keyword, which works, but only for a single textfield. </p>
  
  <p>I've used set/get methods inside the focus listener to assign the current object, but am not sure about how to make this "safe" (e.g. do they need to be synchronized?).</p>
  
  <p>Maybe there is something I am missing?</p>