今天看书看到java弹出菜单的设计和实现这个部分.书上有段代码
// Create the popup menu
jpu = new JPopupMenu();
// Create the popup menu items
JMenuItem jmiCut = new JMenuItem("Cut");
JMenuItem jmiCopy = new JMenuItem("Copy");
JMenuItem jmiPaste = new JMenuItem("Paste");
// Add the menu items to the popup menu
jpu.add(jmiCut);
jpu.add(jmiCopy);
jpu.add(jmiPaste);
// add a listener for the popup trigger
jfrm.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
if (e.isPopupTrigger())
jpu.show(e.getComponent(), e.getX(), e.getY());
}
@Override
public void mouseReleased(MouseEvent e) {
if (e.isPopupTrigger())
jpu.show(e.getComponent(), e.getX(), e.getY());
}
});
如上所示,我觉得很神奇,为什么不直接用mouseRealeased和mousePressed这两个中的一个方法定义弹出菜单,而是两个方法定义成一样的.
后来当我把其中的一个方法注释后就弹不出来了.
希望大神能帮我解答一下,谢谢