最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

Swing菜單組件

下拉式菜單介紹

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

下拉式菜單的三個組件

JMenuBar(菜單欄)

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

JMenu(菜單)

用來整合管理菜單項,菜單可以是單一層次的結構,也可以是多層次的結構,可以使用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)建菜單項時,通常會采用構造方法JMenuItem為菜單項指定文本內(nèi)容。因為JMenuItem是繼承AbstractButton類的,所以可以吧它看作一個按鈕,可以用無參的構造方法創(chuàng)建一個菜單項,可以調(diào)用從AbstractButton類中繼承的setText(String text)方法和setItem()方法為其設置文本和圖標。

下拉式菜單的創(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("關閉");
         //為菜單項添加事件監(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();
     }
 }

小結

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

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

相關文章

  • Java實現(xiàn)簡單銀行ATM功能

    Java實現(xiàn)簡單銀行ATM功能

    這篇文章主要為大家詳細介紹了Java實現(xiàn)銀行ATM簡單功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-10-10
  • Java實現(xiàn)異步執(zhí)行的8種方式總結

    Java實現(xiàn)異步執(zhí)行的8種方式總結

    這篇文章主要給大家介紹了關于Java實現(xiàn)異步執(zhí)行的8種方式,異步編程不會阻塞程序的執(zhí)行,它將耗時的操作提交給后臺線程或其他執(zhí)行環(huán)境,并立即返回,使得程序可以繼續(xù)執(zhí)行其他任務,需要的朋友可以參考下
    2023-09-09
  • 源碼解析springbatch的job運行機制

    源碼解析springbatch的job運行機制

    這篇文章主要介紹了springbatch的job是如何運行的,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • Lombok基本注解之@SneakyThrows的作用

    Lombok基本注解之@SneakyThrows的作用

    @SneakyThrows注解是由lombok為咱們封裝的,它能夠為咱們的代碼生成一個try...catch塊,并把異常向上拋出來,下面這篇文章主要給大家介紹了關于Lombok基本注解之@SneakyThrows作用的相關資料,需要的朋友可以參考下
    2022-01-01
  • Spring Boot中的屬性綁定的實現(xiàn)

    Spring Boot中的屬性綁定的實現(xiàn)

    這篇文章主要介紹了Spring Boot中的屬性綁定的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 深入理解Java遺傳算法

    深入理解Java遺傳算法

    這篇文章主要為大家詳細介紹了Java遺傳算法,本文對基因的編碼采用二進制規(guī)則,分享了對Java遺傳算法的理解,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 解決springboot服務啟動報錯:Unable?to?start?embedded?contain

    解決springboot服務啟動報錯:Unable?to?start?embedded?contain

    這篇文章主要介紹了解決springboot服務啟動報錯:Unable?to?start?embedded?contain的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Java接口中盡量避免使用數(shù)組

    Java接口中盡量避免使用數(shù)組

    這篇文章主要介紹了Java接口中盡量避免使用數(shù)組的建議,根據(jù)實際示例展示了接口中使用數(shù)組而造成的影響程序速度的現(xiàn)象,需要的朋友可以參考下
    2015-07-07
  • Java多線程同步工具類CountDownLatch詳解

    Java多線程同步工具類CountDownLatch詳解

    這篇文章主要介紹了Java多線程同步工具類CountDownLatch詳解,CountDownLatch是一個多線程同步工具類,在多線程環(huán)境中它允許多個線程處于等待狀態(tài),直到前面的線程執(zhí)行結束
    2022-06-06
  • 詳解Springboot2.3集成Spring security 框架(原生集成)

    詳解Springboot2.3集成Spring security 框架(原生集成)

    這篇文章主要介紹了詳解Springboot2.3集成Spring security 框架(原生集成),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-08-08

最新評論

高唐县| 健康| 嘉荫县| 佛坪县| 宁波市| 通城县| 德江县| 金阳县| 德安县| 会理县| 广饶县| 玉环县| 湖南省| 乌兰浩特市| 乌兰察布市| 茶陵县| 凭祥市| 封开县| 墨竹工卡县| 都匀市| 灵武市| 乐都县| 绵阳市| 佛坪县| 尖扎县| 马公市| 应用必备| 敖汉旗| 新田县| 兴宁市| 桂林市| 庐江县| 罗源县| 南京市| 澳门| 禄劝| 云林县| 望城县| 牙克石市| 邵阳县| 永昌县|