|
-
October 15th, 2009, 01:02 AM
#1
[RESOLVED] Menu and popup menu can't use the same menu item?
Hi, I'm trying to do this: "fileMenu" and "popupMenu" use the same menu item, but it didn't show correctly. When I add redMenuItem to popupMenu, redMenuItem disappears in fileMenu.
Please help me.
Thanks.
Code:
package gui2;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JPopupMenu;
import javax.swing.JRadioButtonMenuItem;
public class AFrame extends JFrame {
private JRadioButtonMenuItem redMenuItem;
private JMenu fileMenu;
private JMenuBar bar;
private JPopupMenu popupMenu;
public AFrame()
{
super("Test");
bar = new JMenuBar();
fileMenu = new JMenu("File");
redMenuItem = new JRadioButtonMenuItem("Red");
popupMenu = new JPopupMenu();
fileMenu.add(redMenuItem);
bar.add(fileMenu);
setJMenuBar(bar);
popupMenu.add(redMenuItem); // if comment out this line,
// redMenuItem will appear in file menu.
// if uncomment out this line,
// redMenuItem will disappear in file menu.
addMouseListener(new MouseAdapter()
{
public void mousePressed(MouseEvent e) {
checkForPopupTrigger(e);
}
public void mouseReleased(MouseEvent e) {
checkForPopupTrigger(e);
}
private void checkForPopupTrigger(MouseEvent e)
{
if(e.isPopupTrigger())
popupMenu.show(e.getComponent(), e.getX(), e.getY());
}
}
);
}
public static void main(String[] args) {
AFrame app = new AFrame();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(500, 500);
app.setLocation(300, 200);
app.setVisible(true);
}
}
Last edited by Emerald214; October 15th, 2009 at 01:20 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|