龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)

时间:2014-10-14 11:10来源:网络整理 作者:网络 点击:
分享到:
这篇文章主要介绍了Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例,需要的朋友可以参考下

菜单是GUI中最常用的组件,菜单不是Component类的子类,不能放置在普通容器中,不受布局管理器的约束,只能放置在菜单栏中.

菜单组件由菜单栏 (MenuBar)、菜单(Menu)和菜单项(MenuItem)三部分组成。 一个菜单栏由若干个菜单组成,一个菜单又由若干个菜单项组成。一般菜单栏放 Frame 窗口中,只要调用 Frame 类的 setMenuBar()方法即可。

常用的菜单有:下拉式菜单和弹出式菜单(独立显示,可出现在任意地方).

一:下拉式菜单的创建步骤:

1.创建一个菜单栏。
2.调用 Frame 的 setMenuBar()方法将菜单栏加入 Frame 中。
3.分别创建若干个 Menu 对象,并加入 MenuBar 中。
4.对于每个 Menu 对象,分别创建若干个 MenuItem 对象,并加入 Menu 中。

实例:

复制代码 代码如下:

import java.awt.*; 
 
public class MenuDemo { 
 
    Frame f; 
    MenuBar mb; 
    Menu menuFile; 
    MenuItem mItemNew, mItemOpen, mItemSave; 
 
    MenuDemo() { 
        f = new Frame("我的菜单实例"); 
        f.setBounds(300, 100, 400, 300); 
 
        mb = new MenuBar(); // 创建菜单栏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:将此窗体的菜单栏设置为指定的菜单栏。 
                f.setMenuBar(mb);  
                f.setVisible(true); 
          } 
    public static void main(String[] args) { 
        new MenuDemo(); 
  } 
}

有图有真相:(下拉的菜单项无法截图)

二:弹出式菜单的创建步骤:

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

2.创建右键弹出式菜单(JPopupMenu)和添加的菜单项(JMenuItem). 3.使用add方法和insert方法向JPopupMenu中添加或者插入. 4.通过调用弹出式菜单触发器对应的show方法来显示弹出式菜单,检查所有的MouseEvent事件,看其是否是弹出式菜单触发器,然后在合适的时候显示弹出式菜单

实例:

复制代码 代码如下:

import java.awt.event.*; 
import javax.swing.*; 
 
public class JPopMenu_Demo extends JFrame { 
 
    // 弹出菜单的实现,弹出菜单是一个可弹出并显示一系列选项的小窗口 
    JPopupMenu popupMenu;  
 
    public JPopMenu_Demo() { 
        super("右键弹出式菜单"); // 调用父类构造函数 
        // 实例化弹出菜单  
        popupMenu = new JPopupMenu();  
        // 增加菜单项到菜单上 
        popupMenu.add(new JMenuItem("菜单项")); 
        popupMenu.add(new JButton("按钮"));  
        popupMenu.add(new JLabel("标签")); 
 
        myEvents(); 
 
        setSize(350, 300); // 设置窗口大小 
        setLocation(400, 200); 
        setVisible(true); // 设置窗口为可视 
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 关闭窗口时退出程序 
    } 
 
    private void myEvents() { 
        // 窗口的鼠标事件处理 
        addMouseListener(new MouseAdapter() {  
            // 点击鼠标 
            public void mousePressed(MouseEvent event) {  
                // 调用triggerEvent方法处理事件 
                triggerEvent(event);  
            } 
            // 释放鼠标 
            public void mouseReleased(MouseEvent event) {  
                triggerEvent(event); 
            } 
 
            private void triggerEvent(MouseEvent event) { // 处理事件 
                // isPopupTrigger():返回此鼠标事件是否为该平台的弹出菜单触发事件。 
                if (event.isPopupTrigger())  
                    // 显示菜单 
                    popupMenu.show(event.getComponent(), event.getX(), 
                            event.getY());  
            } 
        }); 
    } 
 
    public static void main(String args[]) { 
        new JPopMenu_Demo(); 
    } 
}

有图有真相(不过挺丑)

三:选项卡窗体:

1.基本说明:

2.常用方法:

精彩图集

赞助商链接