下表给出常见的菜单相关组件
菜单组件名称 | 功能 |
MenuBar | 菜单条,菜单的容器 |
Menu | 菜单组件,菜单项的容器。它也是Menultem的子类,所以可作为菜单项使用 |
PopupMenu | 上下文菜单组件(右键菜单组件) |
MenuItem | 菜单项组件 |
CheckBoxMenuItem | 复选框菜单项组件 |
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
//设置菜单
public class awtmenuDemo1 {
Frame frame=new Frame();
MenuBar menuBar=new MenuBar();
//菜单组件
Menu menu1=new Menu("文件");
Menu menu2=new Menu("编辑");
Menu menu3=new Menu("格式");
//菜单项
MenuItem menuItem1=new MenuItem("自动换行");
MenuItem menuItem2=new MenuItem("复制");
MenuItem menuItem3=new MenuItem("粘贴");
MenuItem menuItem4=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_Q,true));
MenuItem menuItem5=new MenuItem("取消注释");
TextArea textArea=new TextArea(6,30);
private void invit(){
menuBar.add(menu1);
menuBar.add(menu2);
menu2.add(menuItem1);
menu2.add(menuItem2);
menu2.add(menuItem3);
menu2.add(menu3);
menu3.add(menuItem4);
menu3.add(menuItem5);
menuItem4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.append("你点击了菜单项:"+e.getActionCommand()+"\n");
}
});
frame.setMenuBar(menuBar);
frame.add(textArea);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new awtmenuDemo1().invit();
}
}
PopupMenu的使用
import java.awt.*;
import java.awt.event.*;
public class awtPopupmenu {
Frame frame=new Frame();
TextArea textArea=new TextArea("我爱中华!",6,30);
Panel panel=new Panel();
PopupMenu popupMenu=new PopupMenu();
MenuItem menu1=new MenuItem("注释");
MenuItem menu2=new MenuItem("取消注释");
MenuItem menu3=new MenuItem("复制");
MenuItem menu4=new MenuItem("保存");
private void invit(){
popupMenu.add(menu1);
popupMenu.add(menu2);
popupMenu.add(menu3);
popupMenu.add(menu4);
panel.add(popupMenu);
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.append("你点击了菜单:"+e.getActionCommand()+"\n");
}
};
menu1.addActionListener(actionListener);
menu2.addActionListener(actionListener);
menu3.addActionListener(actionListener);
menu4.addActionListener(actionListener);
panel.addMouseListener(new MouseAdapter() {
@Override
public void mouseReleased(MouseEvent e) {
boolean b = e.isPopupTrigger();
if(b){
popupMenu.show(panel,e.getX(),e.getY());
}
}
});
frame.add(textArea,BorderLayout.NORTH);
frame.add(panel);
//设置Panel的大小
panel.setPreferredSize(new Dimension(200,200));
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
new awtPopupmenu().invit();
}
}