Java----如何在窗口中創建菜單


JMenuBar,菜單欄。菜單欄組件添加到 JFrame 窗口后,在窗口的內容顯示區域的頂部出現。實現一個菜單欄主要涉及三種類:

(1)JMenuBar

表示一個菜單欄。

(2)JMenu

表示菜單欄上的一個一級菜單。

(3)JMenuItem, JCheckBoxMenuItem, JRadioButtonMenuItem

表示一級菜單下的一個子菜單項,三者分別表示 普通的子菜單、帶復選框的子菜單、帶單選按鈕的子菜單。

PS: JMenu 繼承自 JMenuItem,所以一個 JMenu 也可以當做是一個二級子菜單項,通過 JMenu 和 JMenuItem 之間的嵌套,可實現多級子菜單效果。

代碼演示:

package stu1;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.*;
public class menu {
    public static class MainForm extends JFrame {


        private void init(String title)
        {
            setTitle(title);//設置窗口標題


            JMenuBar menuBar = new JMenuBar();//創建菜單欄對象
            setJMenuBar(menuBar);// 將菜單欄對象添加到窗體的菜單欄中

            JMenu menu1 = new JMenu("菜單1");// 創建菜單對象
            menuBar.add(menu1);//將菜單對象添加到菜單欄對象中
            JMenuItem item1 = new JMenuItem("菜單選項1");//創建子菜單對象
            menu1.add(item1);//將子菜單對象添加到一級菜單對象中


            menu1.addSeparator();//在菜單項中間添加分界線

            JMenu menu2 = new JMenu("菜單2");
            menuBar.add(menu2);
            JMenuItem item2 = new JMenuItem("菜單選項2");
            menu1.add(item2);


            JMenu submenu = new JMenu("子菜單1");
            menu1.add(submenu);
            submenu.add(new JMenuItem("子菜單1"));
            submenu.add(new JMenuItem("子菜單2"));



            //item1.setAccelerator(KeyStroke.getKeyStroke('A'));
            item1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,KeyEvent.CTRL_MASK));//添加熱鍵




        }
        public MainForm(String title,int posX,int posY,int width,int height)
        {
            init(title);
            setLocation(posX,posY);
            setSize(width,height);
            setVisible(true);
            setResizable(true);

        }

        public static void main(String[] args){
            int x=0,y=0,w=1000,h=1000;
            MainForm windows1 = new MainForm("一個小窗",x,y,w,h);
            MainForm windows2 = new MainForm("一個小小窗",x,y,w,h);
            Container container= windows1.getContentPane();
            container.setBackground(Color.darkGray);

            windows1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            windows2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

        }
    }
}

 

運行截圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM