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

Java Swing中的下拉式菜單(menu)、彈出式菜單(JPopupMenu)、選項(xiàng)卡窗體(JTabbedPane)組件使用案例

 更新時(shí)間:2014年10月13日 10:47:56   作者:輕雨漫步  
這篇文章主要介紹了Java Swing中的下拉式菜單(menu)、彈出式菜單(JPopupMenu)、選項(xiàng)卡窗體(JTabbedPane)組件使用案例,需要的朋友可以參考下

菜單是GUI中最常用的組件,菜單不是Component類的子類,不能放置在普通容器中,不受布局管理器的約束,只能放置在菜單欄中.

菜單組件由菜單欄 (MenuBar)、菜單(Menu)和菜單項(xiàng)(MenuItem)三部分組成。 一個(gè)菜單欄由若干個(gè)菜單組成,一個(gè)菜單又由若干個(gè)菜單項(xiàng)組成。一般菜單欄放 Frame 窗口中,只要調(diào)用 Frame 類的 setMenuBar()方法即可。

常用的菜單有:下拉式菜單和彈出式菜單(獨(dú)立顯示,可出現(xiàn)在任意地方).

一:下拉式菜單的創(chuàng)建步驟:

1.創(chuàng)建一個(gè)菜單欄。
2.調(diào)用 Frame 的 setMenuBar()方法將菜單欄加入 Frame 中。
3.分別創(chuàng)建若干個(gè) Menu 對(duì)象,并加入 MenuBar 中。
4.對(duì)于每個(gè) Menu 對(duì)象,分別創(chuàng)建若干個(gè) MenuItem 對(duì)象,并加入 Menu 中。

實(shí)例:

復(fù)制代碼 代碼如下:

import java.awt.*; 
 
public class MenuDemo { 
 
    Frame f; 
    MenuBar mb; 
    Menu menuFile; 
    MenuItem mItemNew, mItemOpen, mItemSave; 
 
    MenuDemo() { 
        f = new Frame("我的菜單實(shí)例"); 
        f.setBounds(300, 100, 400, 300); 
 
        mb = new MenuBar(); // 創(chuàng)建菜單欄MenuBar 
        menuFile = new Menu("文件");  
 
        mItemNew = new MenuItem("新建"); 
        mItemOpen = new MenuItem("打開"); 
         
        menuFile.add(mItemNew); 
        mItemSave = new MenuItem("保存"); 
         
        menuFile.add(mItemOpen); 
        // 加入分割線 
        menuFile.addSeparator(); 
                menuFile.add(mItemSave); 
                mb.add(menuFile);  
                // 菜單欄中加入“文件”菜單 
  
// setMenuBar:將此窗體的菜單欄設(shè)置為指定的菜單欄。 
                f.setMenuBar(mb);  
                f.setVisible(true); 
          } 
    public static void main(String[] args) { 
        new MenuDemo(); 
  } 
}

有圖有真相:(下拉的菜單項(xiàng)無法截圖)

二:彈出式菜單的創(chuàng)建步驟:

1.先建立最基本的JFrame框架.

2.創(chuàng)建右鍵彈出式菜單(JPopupMenu)和添加的菜單項(xiàng)(JMenuItem). 3.使用add方法和insert方法向JPopupMenu中添加或者插入. 4.通過調(diào)用彈出式菜單觸發(fā)器對(duì)應(yīng)的show方法來顯示彈出式菜單,檢查所有的MouseEvent事件,看其是否是彈出式菜單觸發(fā)器,然后在合適的時(shí)候顯示彈出式菜單

實(shí)例:

復(fù)制代碼 代碼如下:

import java.awt.event.*; 
import javax.swing.*; 
 
public class JPopMenu_Demo extends JFrame { 
 
    // 彈出菜單的實(shí)現(xiàn),彈出菜單是一個(gè)可彈出并顯示一系列選項(xiàng)的小窗口 
    JPopupMenu popupMenu;  
 
    public JPopMenu_Demo() { 
        super("右鍵彈出式菜單"); // 調(diào)用父類構(gòu)造函數(shù) 
        // 實(shí)例化彈出菜單  
        popupMenu = new JPopupMenu();  
        // 增加菜單項(xiàng)到菜單上 
        popupMenu.add(new JMenuItem("菜單項(xiàng)")); 
        popupMenu.add(new JButton("按鈕"));  
        popupMenu.add(new JLabel("標(biāo)簽")); 
 
        myEvents(); 
 
        setSize(350, 300); // 設(shè)置窗口大小 
        setLocation(400, 200); 
        setVisible(true); // 設(shè)置窗口為可視 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 關(guān)閉窗口時(shí)退出程序 
    } 
 
    private void myEvents() { 
        // 窗口的鼠標(biāo)事件處理 
        addMouseListener(new MouseAdapter() {  
            // 點(diǎn)擊鼠標(biāo) 
            public void mousePressed(MouseEvent event) {  
                // 調(diào)用triggerEvent方法處理事件 
                triggerEvent(event);  
            } 
            // 釋放鼠標(biāo) 
            public void mouseReleased(MouseEvent event) {  
                triggerEvent(event); 
            } 
 
            private void triggerEvent(MouseEvent event) { // 處理事件 
                // isPopupTrigger():返回此鼠標(biāo)事件是否為該平臺(tái)的彈出菜單觸發(fā)事件。 
                if (event.isPopupTrigger())  
                    // 顯示菜單 
                    popupMenu.show(event.getComponent(), event.getX(), 
                            event.getY());  
            } 
        }); 
    } 
 
    public static void main(String args[]) { 
        new JPopMenu_Demo(); 
    } 
}

有圖有真相(不過挺丑)

三:選項(xiàng)卡窗體:

1.基本說明:

2.常用方法:

我們把多個(gè)JPanel的對(duì)象添加到 JTabbedPanel中去 。然后再
JTabbedPanel 添加到窗體,代碼如下:

復(fù)制代碼 代碼如下:

JTabbedPane jp=new JTabbedPane(JTabbedPane.LEFT) ; //設(shè)置選項(xiàng)卡在坐標(biāo)
JPanel p1=new JPanel() ;
JPanel p2=new JPanel() ;
JPanel p3=new JPanel() ;
JPanel p4=new JPanel() ; //創(chuàng)建多個(gè)容器
jp.add("窗體1", p1) ;
jp.add("窗體2", p2) ;
jp.add("窗體3", p3) ;//添加子容器,并且為選項(xiàng)卡添加名字
this.add(jp,BorderLayout.CENTER); //將選項(xiàng)卡窗體添加到主窗體上去

3.代碼示例和截圖:

復(fù)制代碼 代碼如下:

import java.awt.*; 
import javax.swing.*; 
 
/**
 * <p>Title: 選項(xiàng)卡演示</p>
 * <p>Description: 這里是一個(gè)選項(xiàng)卡演示,點(diǎn)擊不同的卡片,顯示的內(nèi)容不同</p>
 */ 
 
public class JTabbedPaneDemo1 extends JPanel { 
     
    public JTabbedPaneDemo1() { 
        super(new GridLayout(1, 1)); 
 
        ImageIcon icon = createImageIcon("images/MyIcon.gif"); 
        JTabbedPane tabbedPane = new JTabbedPane(); 
 
        Component panel1 = makeTextPanel("#第一個(gè)卡片#"); 
        tabbedPane.addTab("One", icon, panel1, "第一個(gè)卡片提示信息!"); 
        tabbedPane.setSelectedIndex(0); 
 
        Component panel2 = makeTextPanel("##第二個(gè)卡片##"); 
        tabbedPane.addTab("Two", icon, panel2, "第二個(gè)卡片提示信息!"); 
 
        Component panel3 = makeTextPanel("###第三個(gè)卡片###"); 
        tabbedPane.addTab("Three", icon, panel3, "第三個(gè)卡片提示信息!"); 
 
        Component panel4 = makeTextPanel("####第四個(gè)卡片####"); 
        tabbedPane.addTab("Four", icon, panel4, "第四個(gè)卡片提示信息!"); 
 
        // 將選項(xiàng)卡添加到panl中 
        add(tabbedPane); 
    } 
 
    /**
     * <br>
     * 方法說明:添加信息到選項(xiàng)卡中 <br>
     * 輸入?yún)?shù):String text 顯示的信息內(nèi)容 <br>
     * 返回類型:Component 成員對(duì)象
     */ 
    protected Component makeTextPanel(String text) { 
        JPanel panel = new JPanel(false); 
        JLabel filler = new JLabel(text); 
        filler.setHorizontalAlignment(JLabel.CENTER); 
        panel.setLayout(new GridLayout(1, 1)); 
        panel.add(filler); 
        return panel; 
    } 
 
    /**
     * <br>
     * 方法說明:獲得圖片 <br>
     * 輸入?yún)?shù):String path 圖片的路徑 <br>
     * 返回類型:ImageIcon 圖片對(duì)象
     */ 
    protected static ImageIcon createImageIcon(String path) { 
        // java.net.URL imgURL = TabbedPaneDemo.class.getResource(path); 
        if (path != null) { 
            return new ImageIcon(path); 
        } else { 
            System.out.println("Couldn't find file: " + path); 
            return null; 
        } 
    } 
 
    public static void main(String[] args) { 
        // 使用Swing窗體描述 
        // JFrame.setDefaultLookAndFeelDecorated(true); 
 
        try { 
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
        } catch (Exception e) { 
             
        } 
        // 創(chuàng)建窗體 
        JFrame frame = new JFrame("TabbedPaneDemo"); 
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        frame.getContentPane().add(new JTabbedPaneDemo1(), BorderLayout.CENTER); 
 
        // 顯示窗體 
        frame.setSize(400, 200); 
        frame.setVisible(true); 
    } 

運(yùn)行截圖: 

相關(guān)文章

  • java對(duì)list<Object>進(jìn)行手動(dòng)分頁實(shí)現(xiàn)

    java對(duì)list<Object>進(jìn)行手動(dòng)分頁實(shí)現(xiàn)

    本文主要介紹了java對(duì)list<Object>進(jìn)行手動(dòng)分頁實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • java編程常用技術(shù)(推薦)

    java編程常用技術(shù)(推薦)

    下面小編就為大家?guī)硪黄猨ava編程常用技術(shù)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Maven Optional依賴屬性的含義及妙用

    Maven Optional依賴屬性的含義及妙用

    這篇文章主要為大家介紹了Maven Optional依賴屬性的含義及妙用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析

    Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析

    這篇文章主要介紹了Java中多態(tài)的實(shí)現(xiàn)原理詳細(xì)解析,多態(tài)是面向?qū)ο缶幊陶Z言的重要特性,它允許基類的指針或引用指向派生類的對(duì)象,而在具體訪問時(shí)實(shí)現(xiàn)方法的動(dòng)態(tài)綁定,需要的朋友可以參考下
    2024-01-01
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(54)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(54)

    下面小編就為大家?guī)硪黄狫ava基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-08-08
  • LeetCode?動(dòng)態(tài)規(guī)劃之矩陣區(qū)域和詳情

    LeetCode?動(dòng)態(tài)規(guī)劃之矩陣區(qū)域和詳情

    這篇文章主要介紹了LeetCode?動(dòng)態(tài)規(guī)劃之矩陣區(qū)域和詳情,文章基于Java的相關(guān)資料展開對(duì)LeetCode?動(dòng)態(tài)規(guī)劃的詳細(xì)介紹,需要的小伙伴可以參考一下
    2022-04-04
  • java中使用Filter控制用戶登錄權(quán)限具體實(shí)例

    java中使用Filter控制用戶登錄權(quán)限具體實(shí)例

    java中使用Filter控制用戶登錄權(quán)限具體實(shí)例,需要的朋友可以參考一下
    2013-06-06
  • Java匿名類,匿名內(nèi)部類實(shí)例分析

    Java匿名類,匿名內(nèi)部類實(shí)例分析

    這篇文章主要介紹了Java匿名類,匿名內(nèi)部類,結(jié)合實(shí)例形式分析了Java匿名類,匿名內(nèi)部類相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實(shí)例代碼

    Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實(shí)例代碼

    這篇文章主要介紹了Apache Commons Math3學(xué)習(xí)之?dāng)?shù)值積分實(shí)例代碼,涉及使用辛普森積分的例子,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • 淺談SpringMVC的執(zhí)行流程

    淺談SpringMVC的執(zhí)行流程

    下面小編就為大家?guī)硪黄獪\談SpringMVC的執(zhí)行流程。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09

最新評(píng)論