java学习——87.菜单
日常所用到的每一个软件,几乎都会用到菜单。
菜单即打开软件顶上的那一排类似导航的按钮,但它又不是按钮。或者是右键时的快捷菜单,都是菜单。
本篇即介绍菜单组件。
菜单有两种使用方式:窗口菜单和快捷菜单。
本篇介绍窗口菜单。
窗口菜单总是与窗口一起出现的,位于窗口的最顶层,标题栏下。
1、 菜单栏
菜单栏是容器,用来包容菜单,说明此处是放置的菜单。
其类为JMenuBar,该类的声明如下:
public class JMenuBar extends JComponent implements Accessible,MenuElement
{
public JMenuBar()//构造方法
public JMenu add(JMenu menu) //添加菜单
}
要将菜单放置在窗口中,不是用add方法,而是用setJMenuBar方法。
publicvoid setJMenuBar(JMenuBar menubar)
参数即为菜单栏的实例名。
2、 菜单
菜单也是容器,用来容纳菜单项。
菜单有标题,即为第一级菜单。
菜单类为JMenu,其类的声明如下:
public class JMenu extends JMenuItem implements Accessible,MenuElement
{
public JMenu(String text) //菜单标题
public JMenuItem add(JMenuItem item) //添加菜单项
public void addSeparator() //添加分隔线
public JMenuItem insert(JMenuItemitem, int i)
public void insert(String text, int i)
public void remove(JMenuItem item)
}
要把菜单加入到菜单栏中,用的是add方法。
3、 例
以一个简单的例子说明菜单。
先输出运行结果:
菜单栏中有三个菜单分别是:文件,编辑和格式。其完整代码如下:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.event.*;
public class JMenuLearn extends JFrame{
private JMenuBar menubar;//菜单栏
private JMenu menu[];//菜单,因为有三个菜单,所以用数组的方式
private JTextArea text;
public JMenuLearn(){
super("菜单学习");
this.setLocationRelativeTo(null);
this.setSize(600, 600);
this.setVisible(true);
menubar=new JMenuBar();//创建菜单栏的实例
this.setJMenuBar(menubar);//将菜单栏置于窗口中
String s[]={"文件","编辑","格式"};//菜单项的标题
menu=new JMenu[s.length];//创建菜单数组,数组的长度看上一行有多少个标题
for(int i=0;i<s.length;i++)//因为有三个菜单,我用循环的方式添加至菜单栏中
{
menu[i]=new JMenu(s[i]);//创建菜单,菜单的标题为字符串对应的文字
menubar.add(menu[i]);//将菜单加入到菜单栏中
}
text=new JTextArea(6,6);
this.getContentPane().add(text);
}
public static void main(String args[]){
new JMenuLearn();
}
}
选中一个菜单的感觉。