您好,登錄后才能下訂單哦!
這篇文章主要介紹了Java GUI編程菜單組件怎么用的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Java GUI編程菜單組件怎么用文章都會有所收獲,下面我們一起來看看吧。
下表中給出常見的菜單相關組件:
菜單組件名稱 | 功能 |
---|---|
MenuBar | 菜單條 , 菜單的容器 。 |
Menu | 菜單組件 , 菜單項的容器 。 它也是Menultem的子類 ,所以可作為菜單項使用 |
PopupMenu | 上下文菜單組件(右鍵菜單組件) |
Menultem | 菜單項組件 。 |
CheckboxMenuItem | 復選框菜單項組件 |
下圖是常見菜單相關組件集成體系圖:
菜單相關組件使用:
1.準備菜單項組件,這些組件可以是MenuItem及其子類對象
2.準備菜單組件Menu或者PopupMenu(右擊彈出子菜單),把第一步中準備好的菜單項組件添加進來;
3.準備菜單條組件MenuBar,把第二步中準備好的菜單組件Menu添加進來;
4.把第三步中準備好的菜單條組件添加到窗口對象中顯示。
小技巧:
1.如果要在某個菜單的菜單項之間添加分割線,那么只需要調用Menu的add(new MenuItem(-))即可。
2.如果要給某個菜單項關聯快捷鍵功能,那么只需要在創建菜單項對象時設置即可,例如給菜單項關聯 ctrl+shif+/ 快捷鍵,只需要:new MenuItem("菜單項名字",new MenuShortcut(KeyEvent.VK_Q,true);
案例1:
使用awt中常用菜單組件,完成下圖效果
演示代碼1:
import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class SimpleMenu { //創建窗口 private Frame frame = new Frame("這里測試菜單相關組件"); //創建菜單條組件 private MenuBar menuBar = new MenuBar(); //創建文件菜單組件 private Menu fileMenu = new Menu("文件"); //創建編輯菜單組件 private Menu editMenu = new Menu("編輯"); //創建新建菜單項 private MenuItem newItem = new MenuItem("新建"); //創建保存菜單項 private MenuItem saveItem = new MenuItem("保存"); //創建退出菜單項 private MenuItem exitItem = new MenuItem("退出"); //創建自動換行選擇框菜單項 private CheckboxMenuItem autoWrap = new CheckboxMenuItem("自動換行"); //創建復制菜單項 private MenuItem copyItem = new MenuItem("復制"); //創建粘貼菜單項 private MenuItem pasteItem = new MenuItem("粘貼"); //創建格式菜單 private Menu formatMenu = new Menu("格式"); //創建注釋菜單項 private MenuItem commentItem = new MenuItem("注釋"); //創建取消注釋菜單項 private MenuItem cancelItem = new MenuItem("取消注釋"); //創建一個文本域 private TextArea ta = new TextArea(6, 40); public void init(){ //定義菜單事件監聽器 ActionListener listener = new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); ta.append("單擊“"+command+"”菜單\n"); if (command.equals("退出")){ System.exit(0); } } }; //為注釋菜單項和退出菜單項注冊監聽器 commentItem.addActionListener(listener); exitItem.addActionListener(listener); //為文件菜單fileMenu添加菜單項 fileMenu.add(newItem); fileMenu.add(saveItem); fileMenu.add(exitItem); //為編輯菜單editMenu添加菜單項 editMenu.add(autoWrap); editMenu.add(copyItem); editMenu.add(pasteItem); //為格式化菜單formatMenu添加菜單項 formatMenu.add(commentItem); formatMenu.add(cancelItem); //將格式化菜單添加到編輯菜單中,作為二級菜單 editMenu.add(new MenuItem("-")); editMenu.add(formatMenu); //將文件菜單和編輯菜單添加到菜單條中 menuBar.add(fileMenu); menuBar.add(editMenu); //把菜單條設置到frame窗口上 frame.setMenuBar(menuBar); //把文本域添加到frame中 frame.add(ta); //設置frame最佳大小并可見 frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new SimpleMenu().init(); } }
案例2:
通過PopupMenu實現下圖效果:
實現思路:
1.創建PopubMenu菜單組件;
2.創建多個MenuItem菜單項,并添加到PopupMenu中;
3.將PopupMenu添加到目標組件中;
4.為需要右擊出現PopubMenu菜單的組件,注冊鼠標監聽事件,當監聽到用戶釋放右鍵時,彈出菜單。
演示代碼2:
import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class PopupMenuTest { private Frame frame = new Frame("這里測試PopupMenu"); // 創建PopubMenu菜單 private PopupMenu popupMenu = new PopupMenu(); // 創建菜單條 private MenuItem commentItem = new MenuItem("注釋"); private MenuItem cancelItem = new MenuItem("取消注釋"); private MenuItem copyItem = new MenuItem("復制"); private MenuItem pasteItem = new MenuItem("保存"); // 創建一個文本域 private TextArea ta = new TextArea("我愛中華!!!", 6, 40); // 創建一個Panel private Panel panel = new Panel(); public void init() { // 把菜單項添加到PopupMenu中 popupMenu.add(commentItem); popupMenu.add(cancelItem); popupMenu.add(copyItem); popupMenu.add(pasteItem); // 設置panel大小 panel.setPreferredSize(new Dimension(300, 100)); // 把PopupMenu添加到panel中 panel.add(popupMenu); // 為panel注冊鼠標事件 panel.addMouseListener(new MouseAdapter() { @Override public void mouseReleased(MouseEvent e) { boolean flag = e.isPopupTrigger(); // 判斷當前鼠標操作是不是觸發PopupMenu的操作 if (flag) { // 讓PopupMenu顯示在panel上,并且跟隨鼠標事件發生的地方顯示 popupMenu.show(panel, e.getX(), e.getY()); } } }); // 把ta添加到frame中間區域中 frame.add(ta); // 把panel添加到frame底部 frame.add(panel, BorderLayout.SOUTH); // 設置frame最佳大小,并可視; frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new PopupMenuTest().init(); } }
關于“Java GUI編程菜單組件怎么用”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Java GUI編程菜單組件怎么用”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。