java程序中加入menubar=new JMenuBar();是干什么用的

class FirstWindow extends JFrame{
JMenuBar menubar;/*菜单条*/
JMenu menu;
JMenuItem item1,item2;
FirstWindow(String s){
setTitle(s);
setSize(160,170);
setLocation(120,120);
setVisible(true);
menubar=new JMenuBar();
menu=new JMenu("文件");
item1=new JMenuItem("打开",new ImageIcon("open.gif"));
item2=new JMenuItem("保存",new ImageIcon("save.gif"));
item1.setAccelerator(KeyStroke.getKeyStroke('O'));
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menubar.add(menu);
setJMenuBar(menubar);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
如果可能的话能否将此程序没一条语句都解释一下啊?这里初级不能再初级的编程菜鸟,看不懂这些程序我无法编程啊!

我就不用//了。。直接写了吧。。
class FirstWindow extends JFrame{
JMenuBar menubar;/*菜单条*/
JMenu menu;菜单
JMenuItem item1,item2; 菜单项
FirstWindow(String s){这个类的构造方法
setTitle(s); 设置JFrame的标题
setSize(160,170);设置大小
setLocation(120,120);设置显示的位置
setVisible(true); 是否显示?.....是的.....
menubar=new JMenuBar(); 前面是声明菜单条,现在是分配空间
menu=new JMenu("文件"); 同理,这个菜单的会显示“文件”
item1=new JMenuItem("打开",new ImageIcon("open.gif"));同理,这个菜单项显示“打开”,并且还陪了一张图片
item2=new JMenuItem("保存",new ImageIcon("save.gif"));同理....懒得打了....
item1.setAccelerator(KeyStroke.getKeyStroke('O')); 设置快捷键是”o“
item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));这句没写错?水平有限没看懂。。。
menu.add(item1);将菜单项添加到菜单栏
menu.addSeparator();添加一个分隔条,就是美观点
menu.add(item2);同上上
menubar.add(menu);将菜单添加到菜单条
setJMenuBar(menubar);添加菜单条到JFrame
validate();刷新一下组件...好像没啥用吧
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);设置Jframe的关闭方式,点X的时候是隐藏.
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-18
class FirstWindow extends JFrame{
JMenuBar menubar;/*菜单条*/
JMenu menu; //菜单
JMenuItem item1,item2;//菜单里的两个选项
FirstWindow(String s){ //新建窗口
setTitle(s); //设置s为窗口上的标题
setSize(160,170); //设置窗口大小
setLocation(120,120); //设置窗口位置
setVisible(true); // 使窗口可见
menubar=new JMenuBar(); //创建菜单条
menu=new JMenu("文件"); //创建一个叫文件的菜单
item1=new JMenuItem("打开",new ImageIcon("open.gif"));//创建一个选项“打开”
item2=new JMenuItem("保存",new ImageIcon("save.gif"));/创建一个选项“保存” item1.setAccelerator(KeyStroke.getKeyStroke('O')); //点击打开时,调用KeyStroke.getKeyStroke('O') item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK)); //点击保存时,调用KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK) menu.add(item1); //给创建的菜单里加入选项item1
menu.addSeparator();
menu.add(item2); //给创建的菜单里加入选项item2
menubar.add(menu);//给菜单条里加菜单menu
setJMenuBar(menubar);
validate();
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
}
第2个回答  2013-12-18
menubar=new JMenuBar();是给前面“JMenuBar menubar;/*菜单条*/”声明的菜单条,创建一个对象。目的是为了存放这个“menu=new JMenu("文件");”菜单。
追问

能不能再解释的不那么专业一点?创建对象为什么就和存放菜单联系起来的?
还有
menu.add(item1);
menu.addSeparator();
menu.add(item2);
menubar.add(menu);
setJMenuBar(menubar);
这部分每一句话都啥意思?

追答

如果单问menubar=new JMenuBar();这条语句是干什么用的?,那么它就是给前面“JMenuBar menubar;/*菜单条*/”声明的菜单条,创建一个对象。 “存放菜单”是为了告诉你创建这个JMenuBar对象的目的、作用、用处。

追问

那menu.add(item1);
menu.addSeparator();
menu.add(item2);
menubar.add(menu);
setJMenuBar(menubar);这个呢?

追答

menu.add(item1);// 把菜单项item1,放到菜单menu里。
menu.addSeparator(); //设置menu菜单内的菜单项,相互分离(即在它们之间加一个横线分割开来)。
menu.add(item2); //把菜单项item2,添加到menu菜单里。
menubar.add(menu);//把菜单添加到到菜单条里。
setJMenuBar(menubar);//设置menubar菜单条,为当前FirstWindow的菜单条。