在Java中如何为Frame组件添加菜单呢?

 我来答
Hua19930701
2014-07-29
知道答主
回答量:28
采纳率:0%
帮助的人:18.2万
展开全部

package Fream;


import java.awt.Container;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.IOException;


import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JTextField;


public class MyMenul implements ActionListener

{


/**

* @param args

*/

JMenuBar bar;               //这是菜单栏

JMenu mfile,medit;     //这是菜单

JMenuItem mopen,msave,mclose;      // 这是菜单选项

JMenuItem mcopy,mcut,mpaste;

JTextField txt1,txt2;                  //添加两个文本框

JFrame win;                           //窗口

Container con;                            // 容器

JPanel pan;                              //面板

String str1,str2;

MyMenul()                          //构造函数

{

bar=new JMenuBar();               //新建一个菜单栏

mfile=new JMenu("文件");                   //菜单选项

medit=new JMenu("编辑");                // 菜单选项

mopen=new JMenuItem("打开");           //子菜单

msave=new JMenuItem("保存");

mclose=new JMenuItem("退出");

mcopy=new JMenuItem("复制");              //子菜单

mcut=new JMenuItem("剪贴");

mpaste=new JMenuItem("粘贴");

mfile.add(mopen);                         //给文件菜单选项添加子菜单,打开

mfile.add(msave);                                //保存

mfile.add(mclose);                              //退出

medit.add(mcopy);                         //给编辑菜单选项添加子菜单,复制

medit.add(mcut);                           //剪切

medit.add(mpaste);                       //粘贴

bar.add(mfile);                               //给菜单栏添加菜单选项

bar.add(medit);

txt1=new JTextField(10);                          //设置文本长度

txt2=new JTextField(10);

win=new JFrame("菜单的使用");                  //窗口的名字

con=win.getContentPane();                         

pan=new JPanel();

pan.add(txt1);                                         //在面板添加文本框

pan.add(txt2);

con.add(pan);                                        //在容器中添加面板

win.setJMenuBar(bar);                          //设置菜单条

win.setSize(500, 500);                             //设置窗体的高度跟宽度

win.setVisible(true);                                //窗体是否可见

   }

public void actionPerformed(ActionEvent e)     // 添加监听器

{

if(e.getSource()==mcopy)

{

txt1.selectAll();

txt1.copy();

}

else if(e.getSource()==mcut)

{

txt1.cut();

}

else if(e.getSource()==mpaste)

{

txt2.paste();

}

else if(e.getSource()==mopen)

{

try

{

//这个路径根据你电脑安装Microsoft office的位置不一样会有所改变

Runtime.getRuntime().exec("C:\\Program Files\\Microsoft Office\\OFFICE14\\WINWORD.EXE");

}catch(IOException e1)

{

e1.printStackTrace();

}

}

else if(e.getSource()==msave)

{

try

{

Runtime.getRuntime().exec("C:\\Program Files\\Microsoft Office\\OFFICE14\\EXCEL.EXE");

}catch(IOException e1)

{

e1.printStackTrace();

}

}

else if(e.getSource()==mclose)

{

System.exit(0);

}

}

public void go()

{

mopen.addActionListener(this);

msave.addActionListener(this);

mclose.addActionListener(this);

mcopy.addActionListener(this);

mcut.addActionListener(this);

mpaste.addActionListener(this);

}

public static void main(String[] args) {

MyMenul be=new MyMenul();

be.go();

}



}

大概是这样子

更多追问追答
追问
呃呃我还没学到那个,我刚开始看awt,我试试
我想问的是这个为什么没有在组件f中出现该出的右键菜单?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
btboy1978
2014-07-29 · TA获得超过2015个赞
知道大有可为答主
回答量:2950
采纳率:57%
帮助的人:981万
展开全部
不都组件化了么,直接拖进来就行了撒
追问
我没用IDE我用命令行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式