import java.awt.Component;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
public class T4 extends JFrame
{
T4()
{
setSize(500,600);
final PopupMenu pp = new PopupMenu("asdf");
MenuItem m = new MenuItem("love");
pp.add(m);
add(pp);
m.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
MenuItem temp = (MenuItem)e.getSource();
String str = temp.getLabel();
if(str=="love")
System.out.println("love");
}
});
addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e) {
pp.show((Component)e.getSource(),e.getX(), e.getY()); } });
setVisible(true);
}
public static void main(String[] args)
{
new T4();
}}
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;import javax.swing.JFrame;
public class T4 extends JFrame
{
T4()
{
setSize(500,600);
final PopupMenu pp = new PopupMenu("asdf");
MenuItem m = new MenuItem("love");
pp.add(m);
add(pp);
m.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e)
{
MenuItem temp = (MenuItem)e.getSource();
String str = temp.getLabel();
if(str=="love")
System.out.println("love");
}
});
addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent e) {
pp.show((Component)e.getSource(),e.getX(), e.getY()); } });
setVisible(true);
}
public static void main(String[] args)
{
new T4();
}}
addMouseListener(new MouseAdapter() {
public void mouseReleased(MouseEvent e) {
int mods = e.getModifiers();
// 鼠标右键
if ((mods & InputEvent.BUTTON3_MASK) != 0) {
// 弹出菜单
pp.show((Component) e.getSource(), e.getX(), e.getY());
}
}
});
public void mouseReleased(MouseEvent e) {
if(e.isPopupTigger())//当事件是Popup触发器事件时
pp.show((Component)e.getSource(),e.getX(), e.getY()); } });
另外很重要的是:对mousePressed(..)与mouseClicked(..)都要加上上述同样的代码(来检测是不是Popup触发器事件),若是,则弹出PopupMenu.