第11章 AWT編程(五)

11.6AWT的菜單

11.6.1  菜單條、菜單和菜單項

1.MenuBar:菜單條,菜單的容器。

2.Menu:菜單組件,菜單項的容器。也是MenuItem的子類,所以也可用作菜單項使用。

3.PopupMenu:上下文菜單組件(右鍵菜單組件)。

4.MenuItem發:菜單項組件。

5.CheckboxMenuItem:複選框菜單項組件。

6.MenuShortcut:菜單快捷鍵組件。

 

AWT添加菜單分隔符

1.調用Menu對象的addSeparator方法來添加。

2.添加new MenuItem(“-”)菜單項來添加。

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.sql.Savepoint;
public class SimpleMenu
{
    Frame f = new Frame("測試");
    MenuBar mb = new MenuBar();   //創建菜單條
    Menu file = new Menu("文件");   //創建菜單
    Menu edit = new Menu("編輯");
    MenuItem newItem = new MenuItem("新建");   //創建菜單組件
    MenuItem savaItem = new MenuItem("保存");
    MenuItem exitItem = new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
    //CheckboxMenuItem  複選框組件 
    CheckboxMenuItem autoWrap = new CheckboxMenuItem("自動換行");
    MenuItem copyItem = new MenuItem("複製");
    MenuItem pasteItem = new MenuItem("粘貼");
    Menu format = new Menu("格式");
    MenuItem commentItem = new MenuItem("註解",new MenuShortcut(KeyEvent.VK_SLASH,true));
    MenuItem cancelItem =new MenuItem("取消註解");
    TextArea ta = new TextArea(8,60);
    public void init ()
    {
    ActionListener menuListener = new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
            String cmd = e.getActionCommand();
            ta.append("點擊" + cmd + "菜單" + "\n");
            if (cmd.equals("退出"))
            {
                System.exit(0);
            }
        }
    };   
    commentItem.addActionListener(menuListener);
    exitItem.addActionListener(menuListener);
    file.add(newItem);
    file.add(savaItem);
    file.add(exitItem);
    edit.add(autoWrap);
    edit.addSeparator();
    edit.add(copyItem);
    edit.add(pasteItem);
    format.add(commentItem);
    format.add(cancelItem);
    edit.add(new MenuItem("-"));
    edit.add(format);
    mb.add(file);
    mb.add(edit);
    f.setMenuBar(mb);
    f.addWindowListener(new WindowAdapter() {
        public void windowClosing(WindowEvent e)
        {
            ta.append("用戶試圖關閉窗口");
            System.exit(0);
        }
    });
    f.add(ta);
    f.pack();
    f.setVisible(true);
  }

public static void  main(String[] args)
{
    new SimpleMenu().init();
}

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章