FULL PRODUCT VERSION :
java version "1.6.0_10-rc2"
Java(TM) SE Runtime Environment (build 1.6.0_10-rc2-b32)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)
ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows XP [Version 5.1.2600]
A DESCRIPTION OF THE PROBLEM :
In JRE6.0_u10(b32), if the Windows LNF is being used, and a JPopupMenu is being displayed, a mouse click does not cause MouseListener.mousePressed() to be called. MouseListener.mouseReleased() is called, however.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
See test case
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Right-click should display popup, left-click should dismiss popup.
Java console should display a message for each of mousePressed and mouseReleased for each click.
ACTUAL -
Left click just re-displays popup in new location.
No message for mousePressed once a right-click has occurred.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* Test case for Windows LNF popup bug
*
* Right-click shows popup. Left-click should dismiss it. In JRE6.0u10(b32) it not.
*/
public class TestPopups extends JApplet {
private class TestPanel extends JPanel {
public TestPanel() {
final JPopupMenu popup = new JPopupMenu();
popup.add("Test");
addMouseListener(new MouseAdapter() {
private boolean isPopupTrigger_;
public void mousePressed(MouseEvent evt) {
System.out.println("In mousePressed");
isPopupTrigger_ = evt.isPopupTrigger();
}
public void mouseReleased(MouseEvent evt) {
System.out.println("In mouseReleased");
isPopupTrigger_ = isPopupTrigger_ || evt.isPopupTrigger();
if (isPopupTrigger_)
popup.show(TestPanel.this, evt.getX(), evt.getY());
}
});
}
}
public void init() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception ex1) {
System.out.println("Unsupported LookAndFeel");
}
getContentPane().add(new TestPanel());
}
});
}
}
---------- END SOURCE ----------
Release Regression From : 6.0
The above release value was the last known release where this
bug was not reproducible. Since then there has been a regression.