//菜单栏//各菜单//File下的菜单项//Edit下的菜单项//Config下的菜单项//Help下的菜单项
Java语言程序设计
selectall=newJMenuItem("Selectall");edit.add(cut);edit.add(copy);edit.add(paste);edit.addSeparator();edit.add(selectall);config=newJMenu("Config");config.setMnemonic('C');bc=newJMenuItem("BackColor");fc=newJMenuItem("ForeColor");dc=newJMenuItem("DefaultColor");config.add(fc);config.add(bc);config.addSeparator();config.add(dc);help=newJMenu("Help");help.setMnemonic('H');about=newJMenuItem("About");help.add(about);mnb=newJMenuBar();mnb.add(file);mnb.add(edit);mnb.add(config);mnb.add(help);}publicstaticvoidmain(String[]args){newNewEditor();}}快捷键设置、事件侦听处理和About对话框作为实训的练习,自行扩展完善。
为组件定制弹出式菜单
问题的提出为“JavaEditor”程序的文本编辑区域定制如图所示的的弹出式菜单。
Java语言程序设计
菜单中有五个菜单项组成,分别指示了不同的字体风格,可通过菜单项的选择实现文本区域中文本字体和字号的改变。用JPopupMenu类建立弹出式菜单
建立弹出式菜单
预先定义一个继承JPopupMenu类的子类,弹出式菜单施加给的对象应由构造方法中的参数接收。本例应是负责文本编辑的多行文本框。JPopupMenu类的add方法允许向菜单中加入菜单项。弹出式菜单项的激活事件是ActionEvent,可依照多按钮的事件处理方法进行事件处理。字体风格弹出式菜单的实现:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.border.BevelBorder;classFontPopupextendsJPopupMenuimplementsActionListener{String[]item;Font[]font;JMenuItemmt;JTextAreat;FontPopup(JTextAreat){this.t=t;//下面语句给菜单设置立体边框this.setBorder(newBevelBorder(BevelBorder.RAISED));
Java语言程序设计
item=newString[]{"标准仿宋","粗放行楷","规矩新魏","精致宋体","灵感隶书"};font=newFont[]{newFont("仿宋",0,18),newFont("华文行楷",0,30),newFont("华文新魏",0,22),newFont("宋体",0,14),newFont("隶书",0,20)};for(inti=0;i