| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 627 人关注过本帖
标题:[求助]会鼠标右键弹出菜单的人看下
只看楼主 加入收藏
wanghongxian
Rank: 1
等 级:新手上路
帖 子:100
专家分:0
注 册:2005-12-13
收藏
 问题点数:0 回复次数:3 
[求助]会鼠标右键弹出菜单的人看下
QOiVlyyU.rar (969 Bytes) [求助]会鼠标右键弹出菜单的人看下


会的朋友帮我下,小弟我做了个窗口里鼠标右键可以弹出菜单的简单程序,但是不知道怎么能弹出右键菜单后实现选择后的功能,我用了下public void actionPerformed(ActionEvent a)这个,但是还是不成,请帮帮我
搜索更多相关主题的帖子: 鼠标 菜单 void public 
2007-11-15 01:41
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 

我修改了一下,现在可以用的。你看一下吧

  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();
}
}

2007-11-15 16:50
Starlove
Rank: 1
等 级:新手上路
帖 子:169
专家分:0
注 册:2007-4-26
收藏
得分:0 
如果JMenu里面有和JPopupMenu相同的项目
那么JPopupMenu会覆盖JMenu里面的项目
就是JMenu里面的Item无法正常显示
请问要怎么做
才可以使他们都显示出来
2007-11-17 16:09
netstriker
Rank: 1
等 级:新手上路
威 望:1
帖 子:257
专家分:0
注 册:2007-3-24
收藏
得分:0 

我试了一下,都没有不正常显示啊,能给出全部代码吗?
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();
}
}

2007-11-17 16:30
快速回复:[求助]会鼠标右键弹出菜单的人看下
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017496 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved