在Java中如何为Frame组件添加菜单呢?
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中出现该出的右键菜单?
我没用IDE我用命令行