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

Java詳細(xì)解析下拉菜單和彈出菜單的使用

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

Swing菜單組件

下拉式菜單介紹

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

下拉式菜單的三個(gè)組件

JMenuBar(菜單欄)

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

JMenu(菜單)

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

菜單的常用方法

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

JMenuItem(菜單項(xiàng))

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

下拉式菜單的創(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)建兩個(gè)菜單項(xiàng)
         JMenuItem item1=new JMenuItem("彈出窗口");
         JMenuItem item2=new JMenuItem("關(guān)閉");
         //為菜單項(xiàng)添加事件監(jiān)聽(tīng)器
         item1.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 //創(chuàng)建一個(gè)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);
             }
         });
         //將菜單項(xiàng)添加到菜單中
         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)建一個(gè)JMenuBar菜單欄對(duì)象,將其放置在JFrame窗口的頂部
  • 創(chuàng)建JMenu菜單對(duì)象,將其添加到JMenuBar菜單欄中
  • 創(chuàng)建JMenuItem菜單項(xiàng),將其添加到JMenuBar菜單中。

彈出式菜單介紹

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

彈出式菜單的創(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)建一個(gè)JPopupMenu菜單
         popupMenu=new JPopupMenu();
         //創(chuàng)建三個(gè)JMenuItem菜單項(xiàng)
         JMenuItem refreshItem=new JMenuItem("refresh");
         JMenuItem createItem=new JMenuItem("create");
         JMenuItem exitItem=new JMenuItem("exit");
         //為exitItem菜單項(xiàng)添加事件監(jiān)聽(tīng)器
         exitItem.addActionListener(new ActionListener() {
             @Override
             public void actionPerformed(ActionEvent e) {
                 System.exit(0);
             }
         });
         //向JPopupMenu菜單添加菜單項(xiàng)
         popupMenu.add(refreshItem);
         popupMenu.add(createItem);
         popupMenu.addSeparator();
         popupMenu.add(exitItem);
         //向JFrame窗口添加clicked鼠標(biāo)事件監(jiān)聽(tīng)器
         this.addMouseListener(new MouseAdapter() {
             @Override
             public void mouseClicked(MouseEvent e) {
                 //通過(guò)值匹配,當(dāng)點(diǎn)擊右鍵的時(shí)候,顯示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é)

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

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

相關(guān)文章

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

    IDEA的Swing可視化插件JFormDesigner詳解

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

    Linux下啟動(dòng)jar包的幾種常見(jiàn)方式

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

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

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

    線程池之newFixedThreadPool定長(zhǎng)線程池的實(shí)例

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

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

    一個(gè)合格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的實(shí)現(xiàn)步驟,文中通過(guò)打開(kāi)一個(gè)平時(shí)練習(xí)使用的springboot的demo給大家詳細(xì)介紹,需要的朋友可以參考下
    2022-03-03
  • Java擴(kuò)展Nginx之共享內(nèi)存

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

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

    JDK12的新特性之teeing collectors

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

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

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

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

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

最新評(píng)論