欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java詳細解析下拉菜單和彈出菜單的使用

 更新時間:2022年04月29日 09:40:35   作者:LNORA  
這篇文章主要介紹了怎么用Java來創(chuàng)建和使用下拉菜單和彈出菜單,下拉菜單和彈出菜單是我們經(jīng)常要用的工具,但是你有想過自己怎么去實現(xiàn)它嗎,感興趣的朋友跟隨文章往下看看吧

Swing菜單組件

下拉式菜單介紹

創(chuàng)建一個下拉式菜單,需要三個組件,JmenuBar(菜單欄),Jmenu(菜單),Jmenultem(菜單項)。

下拉式菜單的三個組件

JMenuBar(菜單欄)

表示一個水平的菜單欄,用來管理菜單,不參與同用戶的交互式操作,菜單欄可以放在容器的任何位置,但通常情況下會使用頂級窗口的setJMenuBar方法將它放置在頂級窗口的頂部,JMenuBar有一個午無參的構(gòu)造函數(shù),創(chuàng)建菜單欄時,只需要使用new關(guān)鍵字創(chuàng)建JMenuBar對象,創(chuàng)建完成之后,可以調(diào)用add(JMenu c)方法添加JMenu菜單。

JMenu(菜單)

用來整合管理菜單項,菜單可以是單一層次的結(jié)構(gòu),也可以是多層次的結(jié)構(gòu),可以使用JMenu(String text)創(chuàng)建JMenu菜單,其中的參數(shù)text表示菜單上的文本。

菜單的常用方法

方法聲明功能描述
void JMenuItem add(JMenuItem menuItem)將菜單項添加到菜單末尾,返回此菜單項
void addSeparator()將分隔符添加到菜單末尾
JMenuItem getItem(int pos)返回指定索引處的菜單項,第一個菜單項的索引為0
int getItemCount()返回菜單上的項數(shù),菜單項和分隔符都計算在內(nèi)
void JMenuItem insert(JmuenuItem menuItem,int pos)在指定索引處插入菜單項
void insertsertSeparator(int pos)在指定索引處插入分隔符
void remove(int pos)從菜單中移除指定索引處的菜單項
void remove(JMenuItem menuItem)從菜單中移除指定的菜單項
void removeAll()從菜單中移除所有的菜單項

JMenuItem(菜單項)

在創(chuàng)建菜單項時,通常會采用構(gòu)造方法JMenuItem為菜單項指定文本內(nèi)容。因為JMenuItem是繼承AbstractButton類的,所以可以吧它看作一個按鈕,可以用無參的構(gòu)造方法創(chuàng)建一個菜單項,可以調(diào)用從AbstractButton類中繼承的setText(String text)方法和setItem()方法為其設(shè)置文本和圖標。

下拉式菜單的創(chuàng)建與使用

 package Swing;
 import javax.swing.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 public class CaiDan extends JFrame {
     public  CaiDan(){
         //創(chuàng)建菜單欄
         JMenuBar menuBar=new JMenuBar();
         //將菜單欄添加到JFrame窗口中
         this.setJMenuBar(menuBar);
         //創(chuàng)建菜單
         JMenu menu=new JMenu("操作");
         //將菜單添加到菜單欄上
         menuBar.add(menu);
         //創(chuàng)建兩個菜單項
         JMenuItem item1=new JMenuItem("彈出窗口");
         JMenuItem item2=new JMenuItem("關(guān)閉");
         //為菜單項添加事件監(jiān)聽器
         item1.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 //創(chuàng)建一個JDialog窗口
                 JDialog dialog=new JDialog(CaiDan.this,true);
                 dialog.setTitle("彈出窗口");
                 dialog.setSize(200,200);
                 dialog.setLocation(50,50);
                 dialog.setVisible(true);
             }
         });
         item2.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 System.exit(0);
             }
         });
         //將菜單項添加到菜單中
         menu.add(item1);
         menu.addSeparator();
         menu.add(item2);
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setSize(300,300);
         this.setVisible(true);
     }
     public static void main(String[] args) {
         new CaiDan();
     }
 }

創(chuàng)建和添加下拉式菜單的一般步驟

  • 創(chuàng)建一個JMenuBar菜單欄對象,將其放置在JFrame窗口的頂部
  • 創(chuàng)建JMenu菜單對象,將其添加到JMenuBar菜單欄中
  • 創(chuàng)建JMenuItem菜單項,將其添加到JMenuBar菜單中。

彈出式菜單介紹

在系統(tǒng)中單擊右鍵出現(xiàn)的菜單就是彈出式菜單,在Java的Swing組件中,彈出式菜單用JPopupMenu表示。通過add()方法添加JMenuItem菜單項,默認是不可見的。

彈出式菜單的創(chuàng)建與使用

 package Swing;
 import javax.swing.*;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 public class TanChu extends JFrame {
     private JPopupMenu popupMenu;
     public TanChu(){
         //創(chuàng)建一個JPopupMenu菜單
         popupMenu=new JPopupMenu();
         //創(chuàng)建三個JMenuItem菜單項
         JMenuItem refreshItem=new JMenuItem("refresh");
         JMenuItem createItem=new JMenuItem("create");
         JMenuItem exitItem=new JMenuItem("exit");
         //為exitItem菜單項添加事件監(jiān)聽器
         exitItem.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 System.exit(0);
             }
         });
         //向JPopupMenu菜單添加菜單項
         popupMenu.add(refreshItem);
         popupMenu.add(createItem);
         popupMenu.addSeparator();
         popupMenu.add(exitItem);
         //向JFrame窗口添加clicked鼠標事件監(jiān)聽器
         this.addMouseListener(new MouseAdapter() {
             @Override
             public void mouseClicked(MouseEvent e) {
                 //通過值匹配,當點擊右鍵的時候,顯示JPopupMenu菜單
                if(e.getButton()==e.BUTTON3){
                    popupMenu.show(e.getComponent(),e.getX(),e.getY());
                }
             }
         });
         this.setSize(300,300);
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
         this.setVisible(true);
     }
     public static void main(String[] args) {
         new TanChu();
     }
 }

小結(jié)

以上就是我對于Java中幾種常見菜單的理解,以便于我們之后在不同開發(fā)中根據(jù)不同的情況設(shè)置不同的菜單,提高用戶的體驗感。

到此這篇關(guān)于Java詳細解析下拉菜單和彈出菜單的使用的文章就介紹到這了,更多相關(guān)Java菜單內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA的Swing可視化插件JFormDesigner詳解

    IDEA的Swing可視化插件JFormDesigner詳解

    JFormDesigner是一個專業(yè)的軟件應(yīng)用程序,專門用于幫助您開發(fā)Java?Swing用戶界面,而無需具備編程技能。它可作為獨立實用程序使用,也可以將其用作各種IDE的插件,本文給大家介紹idea?Swing可視化插件,感興趣的朋友一起看看吧
    2022-06-06
  • Linux下啟動jar包的幾種常見方式

    Linux下啟動jar包的幾種常見方式

    最近在linux上發(fā)布了一個SpringBoot項目,研究了一下jar包在Linux上的集中啟動方式,這篇文章主要給大家介紹了Linux下啟動jar包的幾種常見方式,需要的朋友可以參考下
    2023-07-07
  • SpringCloud降級規(guī)則使用介紹

    SpringCloud降級規(guī)則使用介紹

    這篇文章主要介紹了SpringCloud降級規(guī)則,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • 線程池之newFixedThreadPool定長線程池的實例

    線程池之newFixedThreadPool定長線程池的實例

    這篇文章主要介紹了線程池之newFixedThreadPool定長線程池的實例,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • 一個合格JAVA軟件工程師應(yīng)該具備什么

    一個合格JAVA軟件工程師應(yīng)該具備什么

    一個合格JAVA軟件工程師應(yīng)該具備哪些專業(yè)技能,面試技巧是什么?本文為大家分享了2016版最新Java軟件工程師就業(yè)思維圖,感興趣的小伙伴們可以參考一下
    2016-11-11
  • spring?boot?導(dǎo)出數(shù)據(jù)到excel的操作步驟(demo)

    spring?boot?導(dǎo)出數(shù)據(jù)到excel的操作步驟(demo)

    這篇文章主要介紹了spring?boot?導(dǎo)出數(shù)據(jù)到excel的實現(xiàn)步驟,文中通過打開一個平時練習(xí)使用的springboot的demo給大家詳細介紹,需要的朋友可以參考下
    2022-03-03
  • Java擴展Nginx之共享內(nèi)存

    Java擴展Nginx之共享內(nèi)存

    這篇文章主要介紹了Java擴展Nginx之共享內(nèi)存的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • JDK12的新特性之teeing collectors

    JDK12的新特性之teeing collectors

    這篇文章主要介紹了JDK12的新特性之teeing collectors的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Java的String類中的startsWith方法和endsWith方法示例詳解

    Java的String類中的startsWith方法和endsWith方法示例詳解

    大家應(yīng)該都知道startsWith()方法用于檢測字符串是否以指定的前綴開始,endsWith()方法用于測試字符串是否以指定的后綴結(jié)束,本文就Java的String類中的startsWith方法和endsWith方法給大家詳細講解,感興趣的朋友一起看看吧
    2023-11-11
  • Java swing框架實現(xiàn)的貪吃蛇游戲完整示例

    Java swing框架實現(xiàn)的貪吃蛇游戲完整示例

    這篇文章主要介紹了Java swing框架實現(xiàn)的貪吃蛇游戲,結(jié)合完整實例形式分析了java使用swing框架結(jié)合awt圖形繪制實現(xiàn)貪吃蛇游戲的具體步驟與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-12-12

最新評論