title: How to get Mouse hover event in `Java Swing`
body: <p>I have a <code>JPanel</code> with multiple components in it - like a few <code>JLabels</code>, <code>JTextBoxes</code>, <code>JComboBoxes</code>, <code>JCheckBoxes</code> etc. </p>
  
  <p>I want to display a pop up help window if the user hovers over these components for say 3 secs. </p>
  
  <p>So far I added a <code>MouseListener</code> to one of my Components and it does display the required pop up and help. However I can't achieve it after 3 sec delay. As soon as the user moves the mouse to through that area of the component the pop up displays. This is very annoying as the components are almost unusable. I have tried using <code>MouseMotionListener</code> and having the below code in <code>mouseMoved(MouseEvent e)</code> method. Gives the same effect. </p>
  
  <p>Any suggestion on how can I achieve the mouse hover effect - to display the pop up only after 3 sec delay?</p>
  
  <p>Sample Code:(Mouse Entered method)</p>
  
  <pre><code>private JTextField _textHost = new JTextField();
  
  this._textHost().addMouseListener(this);
  
  @Override
  public void mouseEntered(MouseEvent e) {
  
      if(e.getSource() == this._textHost())
      {
          int reply = JOptionPane.showConfirmDialog(this, "Do you want to see the related help document?", "Show Help?", JOptionPane.YES_NO_OPTION);
          if(reply == JOptionPane.YES_OPTION)
          {
              //Opens a browser with appropriate link. 
              this.get_configPanel().get_GUIApp().openBrowser("http://google.com");
          }
      }
  
  }
  </code></pre>