1》:java中如菜单相关的类主要有:MenuBar(菜单条),Menu(菜单),MenuItem(菜单项);
2,任务:完成图中所示的例子
3.代码
(1)testMenu.java
package testMenu;
import java.awt.*;
import java.awt.event.*;
public class testMenu extends Frame {
MenuBar mb=new MenuBar();
Menu fileM=new Menu("File");
Menu editM=new Menu("Edit");
Menu toolM=new Menu("Tool");
Menu helpM=new Menu("Help");
MenuItem fileM1=new MenuItem("New");
MenuItem fileM2=new MenuItem("Open");
MenuItem fileM3=new MenuItem("Save");
//子菜单
Menu fileM4=new Menu("Print");
MenuItem printM1=new MenuItem("Preview");
MenuItem printM2=new MenuItem("Setting");
//复选项
CheckboxMenuItem fileM5=new CheckboxMenuItem("Quit");
public testMenu()
{
//菜单条
mb.add(fileM);
mb.add(editM);
mb.add(toolM);
mb.add(helpM);
//file子菜单
fileM.add(fileM1);
fileM.add(fileM2);
fileM.add(fileM3);
fileM.add(fileM4);
fileM.addSeparator();
fileM.add(fileM5);
//print 子菜单
fileM4.add(printM1);
fileM4.add(printM2);
menuListener ml=new menuListener();
printM1.addActionListener(ml);
printM2.addActionListener(ml);
this.setMenuBar(mb);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
System.exit(0);
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
testMenu dw=new testMenu();
dw.setSize(400, 300);
dw.setTitle("DrawLine");
dw.setVisible(true);
}
}
(2).menuListener.java
package testMenu;
import java.awt.event.*;
public class menuListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
if( e.getActionCommand().equals("Preview"))
{
System.out.println("doing Preview");
}else if(e.getActionCommand().equals("Setting"))
{
System.out.println("doing Setting");
}
}
}
4.新信息
public String getActionCommand()
返回与此动作相关的命令字符串。
注意,如果将 null
命令字符串传递给此 ActionEvent
的构造方法,则此方法返回 null
。
返回:
标识此事件命令的字符串
——————————————————————————————————————————————————————