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()
- 返回与此动作相关的命令字符串。
-
这使得 "modal" 组件可以由其当前的状态,通过此字符串来得到它能够产生的几个命令之一。例如,单个按钮可以在“显示详细信息”和“隐藏详细信息”之间切换。在所有情况下,源对象和事件都将是相同的,但命令字符串将会标识出实际对应的动作。
注意,如果将
null
命令字符串传递给此ActionEvent
的构造方法,则此方法返回null
。 -
-
返回:
- 标识此事件命令的字符串
-
——————————————————————————————————————————————————————
自《张孝祥--java就业教程》