日常所用到的每一个软件,几乎都会用到菜单。 菜单即打开软件顶上的那一排类似导航的按钮,但它又不是按钮。或者是右键时的快捷菜单,都是菜单。 本篇即介绍菜单组件。 菜单有两种使用方式:窗口菜单和快捷菜单。 本篇介绍窗口菜单。 窗口菜单总是与窗口一起出现的,位于窗口的最顶层,标题栏下。 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(); } } 选中一个菜单的感觉。 |
|
来自: pythonjava学习 > 《待分类》