-
Bug
-
Resolution: Duplicate
-
P2
-
None
-
1.4.0
-
x86
-
generic
The popup menu opened using a mouse click continues to remain open even after the focus has been moved to another application totally different from it. The native popups in the Solaris and Windows machines close when the focus is moved to another application.
% java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b49)
Java HotSpot(TM) Client VM (build 1.4beta-B49, mixed mode)
Code used:
---------
import java.awt.*;
import java.awt.event.*;
import javax.swing.JPopupMenu;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JFrame;
/*
* This class adds popup menus to MenuDemo.
*/
public class PopupMenuDemo extends JFrame
implements ActionListener, ItemListener {
JTextArea output;
JPopupMenu popup;
JMenuItem menuItem;
public PopupMenuDemo() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//Add regular components to the window, using the default BorderLayout.
Container contentPane = getContentPane();
output = new JTextArea("Click the right mouse button anywhere", 5, 30);
output.setEditable(false);
contentPane.add(output, BorderLayout.CENTER);
//Create the popup menu.
popup = new JPopupMenu();
menuItem = new JMenuItem("A popup menu item");
menuItem.addActionListener(this);
popup.add(menuItem);
menuItem = new JMenuItem("Another popup menu item");
menuItem.addActionListener(this);
popup.add(menuItem);
//Add listener to components that can bring up popup menus.
MouseListener popupListener = new PopupListener();
output.addMouseListener(popupListener);
output.addMouseListener(popupListener);
}
public void itemStateChanged(ItemEvent e) {
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
PopupMenuDemo window = new PopupMenuDemo();
window.setTitle("PopupMenuDemo");
window.setSize(450, 260);
window.setVisible(true);
}
class PopupListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
maybeShowPopup(e);
}
public void mouseReleased(MouseEvent e) {
maybeShowPopup(e);
}
private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(),
e.getX(), e.getY());
}
}
}
}
% java -version
java version "1.4.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0-beta-b49)
Java HotSpot(TM) Client VM (build 1.4beta-B49, mixed mode)
Code used:
---------
import java.awt.*;
import java.awt.event.*;
import javax.swing.JPopupMenu;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JFrame;
/*
* This class adds popup menus to MenuDemo.
*/
public class PopupMenuDemo extends JFrame
implements ActionListener, ItemListener {
JTextArea output;
JPopupMenu popup;
JMenuItem menuItem;
public PopupMenuDemo() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
//Add regular components to the window, using the default BorderLayout.
Container contentPane = getContentPane();
output = new JTextArea("Click the right mouse button anywhere", 5, 30);
output.setEditable(false);
contentPane.add(output, BorderLayout.CENTER);
//Create the popup menu.
popup = new JPopupMenu();
menuItem = new JMenuItem("A popup menu item");
menuItem.addActionListener(this);
popup.add(menuItem);
menuItem = new JMenuItem("Another popup menu item");
menuItem.addActionListener(this);
popup.add(menuItem);
//Add listener to components that can bring up popup menus.
MouseListener popupListener = new PopupListener();
output.addMouseListener(popupListener);
output.addMouseListener(popupListener);
}
public void itemStateChanged(ItemEvent e) {
}
public void actionPerformed(ActionEvent e) {
}
public static void main(String[] args) {
PopupMenuDemo window = new PopupMenuDemo();
window.setTitle("PopupMenuDemo");
window.setSize(450, 260);
window.setVisible(true);
}
class PopupListener extends MouseAdapter {
public void mousePressed(MouseEvent e) {
maybeShowPopup(e);
}
public void mouseReleased(MouseEvent e) {
maybeShowPopup(e);
}
private void maybeShowPopup(MouseEvent e) {
if (e.isPopupTrigger()) {
popup.show(e.getComponent(),
e.getX(), e.getY());
}
}
}
}
- duplicates
-
JDK-4218084 Swing Menu doesn't unpost when focus change to anther window
-
- Resolved
-