JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?

我正在做一个学生信息管理系统,这是其中的一个菜单代码:publicclassMainGUIextendsJFrameimplementsActionListener{pu... 我正在做一个学生信息管理系统,这是其中的一个菜单代码:
public class MainGUI extends JFrame implements ActionListener{

public MainGUI(){
super("学生信息管理系统");
JMenu backMenu = new JMenu("返回主界面(B)");
backMenu.setMnemonic(KeyEvent.VK_B);

JMenu informationManage= new JMenu("学生信息管理(M)");
informationManage.setMnemonic(KeyEvent.VK_M);

JMenuItem veiwMenuItem = new JMenuItem("信息游览(V) ");
veiwMenuItem.setAccelerator(KeyStroke.getKeyStroke('V',Event.CTRL_MASK));
informationManage.add(veiwMenuItem);

JMenuItem inputMenuItem = new JMenuItem("信息录入(I) ");
inputMenuItem.setAccelerator(KeyStroke.getKeyStroke('I',Event.CTRL_MASK));
informationManage.add(inputMenuItem);

JMenuItem searchMenuItem = new JMenuItem("信息查询(S) ");
searchMenuItem.setAccelerator(KeyStroke.getKeyStroke('S',Event.CTRL_MASK));
informationManage.add(searchMenuItem);

JMenuItem modifyMenuItem = new JMenuItem("信息修改(M) ");
modifyMenuItem.setAccelerator(KeyStroke.getKeyStroke('M',Event.CTRL_MASK));
informationManage.add(modifyMenuItem);

JMenuItem deleteMenuItem = new JMenuItem("信息删除(D) ");
deleteMenuItem.setAccelerator(KeyStroke.getKeyStroke('D',Event.CTRL_MASK));
informationManage.add(deleteMenuItem);

JMenuBar menuBar = new JMenuBar();
this.setJMenuBar(menuBar);
menuBar.add(backMenu);
menuBar.add(informationManage);

现在我想监听JMenuItem veiwMenuItem,当我点击下拉菜单“信息游览”时,就把数据库里面相应的studentsInfomation显示到当前mainGUI的panel上,如何做到呢?两个问题:第一:如何监听JMenuItem veiwMenuItem? 第二个问题:如何实现将要游览的学生信息显示在当前的mainGUI的panel上,而不再重新调用一个新窗口出来显示信息?
展开
 我来答
leimiu
2009-12-03 · TA获得超过167个赞
知道答主
回答量:181
采纳率:0%
帮助的人:160万
展开全部
第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API
第二个问题,一时想到两种实现方法
1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来
2、如果你不希望使用其他组件了的话,倒也可以重载paint()方法,直接将你要显示的信息“绘”出来。例如:
public class DisplayPanel extends JPanel{
public void pain(Graphics g){
super.paint(g);
g.drawString(student.getName());
g.drawString(student.getNumber());
.... ....
}
}
然后将这个Panel添加到你原来的位置即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式