会的朋友帮我下,小弟我做了个窗口里鼠标右键可以弹出菜单的简单程序,但是不知道怎么能弹出右键菜单后实现选择后的功能,我用了下public void actionPerformed(ActionEvent a)这个,但是还是不成,请帮帮我
----------------解决方案--------------------------------------------------------
我修改了一下,现在可以用的。你看一下吧
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.JMenuItem;
import javax.swing.JPopupMenu;
class app extends JFrame implements ActionListener
{
JMenuBar bar=new JMenuBar();
final JPopupMenu menu=new JPopupMenu();
JMenu jm1=new JMenu("文件");
JMenu jm2=new JMenu("编辑");
JMenuItem item1=new JMenuItem("打开");
JMenuItem item2=new JMenuItem("关闭");
JMenuItem item3=new JMenuItem("复制");
JMenuItem item4=new JMenuItem("粘贴");
JMenuItem item5=new JMenuItem("刷新");
JMenuItem item6=new JMenuItem("属性");
JMenuItem item7=new JMenuItem("管理");
app()
{
this.setJMenuBar(bar);
bar.add(jm1);
bar.add(jm2);
jm1.add(item1);
jm1.add(item2);
jm2.add(item3);
jm2.add(item4);
menu.add(item5);
menu.add(item6);
menu.add(item7);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this); //这样增加一个监听器
this.setSize(300,300);
this.setVisible(true);
this.addMouseListener(new MouseAdapter ()
{
public void mouseReleased(MouseEvent e)
{
//System.out.println("www.it.com.cn");
if(e.isPopupTrigger())
{
menu.setLocation(e.getX(),e.getY());
menu.show(e.getComponent(),e.getX(),e.getY());
System.out.println("www.pconline.com.cn");
}
}
}
);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("www.it.com.cn"); //这样可以触发到事件啊!
}
public static void main(String arc[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
new app();
}
}
----------------解决方案--------------------------------------------------------
如果JMenu里面有和JPopupMenu相同的项目
那么JPopupMenu会覆盖JMenu里面的项目
就是JMenu里面的Item无法正常显示
请问要怎么做
才可以使他们都显示出来
----------------解决方案--------------------------------------------------------
我试了一下,都没有不正常显示啊,能给出全部代码吗?
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
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.JMenuItem;
import javax.swing.JPopupMenu;
class app extends JFrame implements ActionListener
{
JMenuBar bar=new JMenuBar();
final JPopupMenu menu=new JPopupMenu();
JMenu jm1=new JMenu("文件");
JMenu jm2=new JMenu("编辑");
JMenuItem item1=new JMenuItem("打开"); //这就是相同的项目
JMenuItem item2=new JMenuItem("关闭");
JMenuItem item3=new JMenuItem("复制");
JMenuItem item4=new JMenuItem("粘贴");
JMenuItem item8=new JMenuItem("打开"); //这就是相同的项目
JMenuItem item5=new JMenuItem("刷新");
JMenuItem item6=new JMenuItem("属性");
JMenuItem item7=new JMenuItem("管理");
app()
{
this.setJMenuBar(bar);
bar.add(jm1);
bar.add(jm2);
jm1.add(item1);
jm1.add(item2);
jm2.add(item3);
jm2.add(item4);
menu.add(item5);
menu.add(item6);
menu.add(item7);
menu.add(item8);
item5.addActionListener(this);
item6.addActionListener(this);
item7.addActionListener(this);
this.setSize(300,300);
this.setVisible(true);
this.addMouseListener(new MouseAdapter ()
{
public void mouseReleased(MouseEvent e)
{
//System.out.println("www.it.com.cn");
if(e.isPopupTrigger())
{
menu.setLocation(e.getX(),e.getY());
menu.show(e.getComponent(),e.getX(),e.getY());
System.out.println("www.pconline.com.cn");
}
}
}
);
}
public void actionPerformed(ActionEvent e)
{
System.out.println("www.it.com.cn"); //这样可以触发到事件啊!
}
public static void main(String arc[])
{
JFrame.setDefaultLookAndFeelDecorated(true);
new app();
}
}
----------------解决方案--------------------------------------------------------