一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - Java Swing中的下拉式菜單(menu)、彈出式菜單(JPopupMenu)、選項(xiàng)卡窗體(JTabbedPane)組件使用案例

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

2019-12-02 14:14輕雨漫步 JAVA教程

這篇文章主要介紹了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)無(wú)法截圖)

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

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

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

2.創(chuàng)建右鍵彈出式菜單(JPopupMenu)和添加的菜單項(xiàng)(JMenuItem). 3.使用add方法和insert方法向JPopupMenu中添加或者插入. 4.通過(guò)調(diào)用彈出式菜單觸發(fā)器對(duì)應(yīng)的show方法來(lái)顯示彈出式菜單,檢查所有的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();  
    }  
}

 

有圖有真相(不過(guò)挺丑)

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

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

1.基本說(shuō)明:

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> 
     * 方法說(shuō)明:添加信息到選項(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> 
     * 方法說(shuō)明:獲得圖片 <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)行截圖: 

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级久久久久久久大片 | 国产精品欧美日韩一区二区 | 精品老司机在线视频香蕉 | 精品视频国产 | 狠狠撸在线播放 | 日韩高清在线免费观看 | 亚洲aⅴ男人的天堂在线观看 | 日韩欧美一区二区在线观看 | 99久久精品免费精品国产 | 亚洲天堂免费观看 | 国色天香社区在线视频免费观看 | 超高清欧美同性videos | 好大好深受不了了快进来 | 亚洲国产精品久久精品怡红院 | 日本护士撒尿xxxx18 | 韩国甜性涩爱免费观看 | 爸爸干女儿小说 | 俺去也亚洲色图 | 隔壁老王国产精品福利 | 色碰视频 | 国产成人无精品久久久久国语 | 日本午夜视频 | 19+韩国女主播激情vip视频在线 | 爱色综合v | 男人操女人免费视频 | 999久久久免费精品国产牛牛 | 日韩一区二区三区四区区区 | 深夜在线网址 | 不卡视频一区二区 | bnb99八度免费影院 | 国产福利资源网在线观看 | 成人精品亚洲 | 亚欧综合 | 99热这里只有精品国产在热久久 | 麻豆网站在线看 | 日韩无遮挡大尺度啪啪影片 | 动漫a级片 | 国产一区在线播放 | 把内裤拔到一边高h1v1 | 欧美╳bbbb| 亚洲丰满女人ass硕大 |