JLabel's tooltip text disabling its parent JPanel mouseEnter event

Viewed 46

Why does the tooltip event of JLabel disabling its JPanel's mouseEnter event? This does not happen if JLabel has no tooltip text set.

How can I keep the mouseEnter event even while hovering over JLabel ?

Normal state, mouse is not over JPanel enter image description here

Hover state, mouse is over JPanel, it changes color to red enter image description here

Hover state, mouse is over JLabel, which is inside JPanel

Background should be red. enter image description here

Code:

public class MyJFrame extends JFrame {

    private final Color default_color = Color.orange;
    private final Color hover_color = Color.red;

    private JLabel jLabel1;
    private JPanel jPanel1;

    public MyJFrame() {
        init();
    }

    private void init() {

        jPanel1 = new JPanel();
        jLabel1 = new JLabel();

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        getContentPane().setLayout(null);

        jPanel1.setBackground(default_color);
        jPanel1.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseEntered(MouseEvent evt) {
                jPanel1.setBackground(hover_color);
            }
            @Override
            public void mouseExited(MouseEvent evt) {
                jPanel1.setBackground(default_color);
            }
        });
        jPanel1.setLayout(null);
        jLabel1.setText("?");
        jLabel1.setToolTipText("This label's tooltip text disabling mouseEnter event.");
        jPanel1.add(jLabel1);
        jLabel1.setBounds(313, 0, 27, 30);

        getContentPane().add(jPanel1);
        jPanel1.setBounds(30, 40, 340, 30);

        pack();
    }                                                                
}
0 Answers
Related