`
leeny
  • 浏览: 19399 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Swing弹出式菜单

阅读更多
                  Swing弹出式菜单
  缺省时,Swing弹出式菜单是轻量组件(注:这是一种简化的说法,但适用于此处的讨论。如果轻量弹出式菜单与重量组件重叠,则弹出式菜单将在该重量组件下面显示。如图2小应用程序所示。
  有些Swing组件使用弹出式菜单。Swing菜单组件就是一种使用弹出式菜单的组件,它在一个菜单被激活时,显示一个弹出式菜单。缺省时,如果一个与某个菜单相关联的弹出式菜单完全处在弹出式菜单所在的窗口吕,则弹出式菜单使用轻量组件。图2-7所示的小应用程序中与File菜单相关联的弹出式菜单是一个轻量组件,所以它在重量组件AWT按钮的下面显示。

例1在重量组件下面显示的轻量弹出式菜单

  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;

  public class Test extends JApplet {
   public void init() {
    Container contentPane = getContentPane();
    JMenuBar menubar = new JMenuBar();
    JMenu menu = new JMenu("File");

    menu.add("New ...");
    menu.add("Open ...");
    menu.add("Save As ...");
    menu.add("Save");
    menu.add("Exit");

    contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
    contentPane.add(new Button("An AWT Button ............"));

    menubar.add(menu);
    setJMenuBar(menubar);
   }
  }

  这个小应用程序创建了一个菜单条、一个AWT按钮和一个菜单。把菜单项添加到菜单中,再把菜单添加到菜单条中,按钮则被添加到小应用程序的内容窗格中。最后,调用JApplet.setJMenuBar(),把菜单条添加到小应用程序中。
  幸运的是,Swing提供了一个机制,它迫使弹出式菜单是重量组件,这样,它们就不会在重量组件下面弹出来。JPopupMenu类提供了一个static方法,该方法可决定弹出式菜单是重量的还是轻量的(注:某些弹出式菜单即可以指定为轻量的,也可以指定为重量的。)
  JPopupMenu.setDefaultLightWeightPopupEnabled()以一个boolean值为参数,这个值指出是把弹出式菜单实例化为轻量的还是把弹出式菜单实例化为重量的,调用setDefaultLightWeightPopupEnabled()时,如果这个boolean值为true,则创建的弹出式菜单是轻量的,如果这个boolean值为false,则创建的弹出式菜单是重量的(注:这也是简化的说法,但同样适用于这里的讨论)。
  图2所示的小应用程序除了在菜单条被实例化之前调用了JPopupMenu.setDefaultLightWeightPopupEnabled(false)以外,其余部分都与图1所示的小应用程序相同。

例2 使用重量弹出式菜单

  import javax.swing.*;
  import java.awt.*;
  import java.awt.event.*;

  public class Test extends JApplet {
   public void init() {
    JPopupMenu.setDefaultLightWeightPopupEnabled(false);

    Container contentPane = getContentPane();
    JMenuBar menubar = new JMenuBar();
    JMenu menu = new JMenu("File");

    menu.add("New ...");
    menu.add("Open ...");
    menu.add("Save As ...");
    menu.add("Save");
    menu.add("Exit");

    contentPane.setLayout(new FlowLayout(FlowLayout.LEFT));
    contentPane.add(new Button("An AWT Button ............"));

    menubar.add(menu);
    setJMenuBar(menubar);
   }
  }

分享到:
评论

相关推荐

    Swing 弹出式菜单用法

    Swing 弹出式菜单用法,里面写的挺详细的,希望对大家有帮助!

    Java图形设计卷2Swing

    序  前言 ... 2.3.2 Swing弹出式菜单  2.3.3 滚动  2.3.4 内部窗体  2.4 Swing和线程  2.4.1 Swing单线程设计的结果  2.4.2 SwingUtilties类的invokeLater和invokeAndWait方法  2.5 本章回顾

    Java2图形设计卷_swing

     2.3.2 Swing弹出式菜单  2.3.3 滚动  2.3.4 内部窗体  2.4 Swing和线程  2.4.1 Swing单线程设计的结果  2.4.2 SwingUtilties类的invokeLater和invokeAndWait方法  2.5 本章回顾  第3章 Swing组件的体系结构...

    Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例

    主要介绍了Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例,需要的朋友可以参考下

    java 菜单,右键弹出菜单,工具条的样例

    java 菜单,右键弹出菜单,工具条的样例,maven项目导入eclipse

    菜单及Swing组件

    (1) 掌握菜单的创建及使用方法。 (2) 掌握弹出式菜单的创建及使用方法。 (3) 熟悉常用的Swing组件及其方法。 (4) 掌握使用Swing组建的一般步骤。

    Swing组件下载(常用组件)

    Swing组件(javax.swing.-) ...弹出式菜单:JPopupMenu 分隔符:JSeparator 对话框:JDialog 帧:JFrame 颜色选择器:JColorChooser 文件选择器:JFileChooser 选项窗格:JOptionPane 补充: 状态栏:StatusBar

    记事本(java)

    该记事本主要功能:主菜单有文件、编辑、格式、帮助四个选项;文件菜单包括:新建、打开、保存、退出四个菜单项;编辑菜单:复制、剪切、粘贴、撤销、全选、删除六个...弹出式菜单:实现对文档的复制、剪切、粘贴功能。

    基于设计模式的Java swing交互式界面模式的应用研究与实现

    随着计算机与软件的进步,人机交互...如编辑框,滚动条,弹出菜单等的做法,由此形成了一个开发swing风格界面的 集成界面模板工具。最后,文章结尾总结了提出和研究设计的这套方案在意义和不足,以及进一步的工作。

    基于JAVA的记事本设计报告.doc

    " "(3)、弹出菜单(鼠标右击):应用类JpopupMenu创建一个弹出菜单的实例pm," "并将菜单项itemcopy1,itemcut1,itempaste1,itemqx1依次添加到弹出菜单。 " "(四)、代码分析 " "总体结构概述:程序包括一个公共类...

    OpenSwing开发包及源码

    菜单Tools--> Configure Palette… 弹出Palette Properties…对话框 ①Pages 页中按 Add… --> PageName中输入OpenSwing --> OK ②Add components页中 -->Select library…--> 选取User Home 下的OpenSwing...

    javaSE代码实例

    11.3.4 方法重写对抛出异常声明的约束 210 11.4 定义自己的异常 212 11.4.1 创建自己的异常类 212 11.4.2 使用自定义的异常类 213 11.4.3 显性再抛出作用的体现 215 11.5 异常的匹配 217 11.5.1 同时...

    OpenSwing---Java 常用控件集合

    4.菜单Tools--> Configure Palette… 弹出Palette Properties…对话框 ①Pages 页中按 Add… --> PageName中输入OpenSwing --> OK ②Add components页中 -->Select library…--> 选取User Home 下的OpenSwing类库-...

    Java2核心技术.part5

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4...

    Java2核心技术.part3

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4...

    Java2核心技术.part1

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4 AWT的...

    Java2核心技术.part6

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4...

    Java2核心技术.part4

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4...

    Java2核心技术.part2

    10.1.6 applet中的弹出式窗口 10.2 applet的HTML标记和属性 11.5.1启用和禁用断言 11.5.2使用断言的建议 11.6调试技术 11. 6.1调试的常用技巧 11.6.2使用控制台窗口 11.6_3跟踪AWT事件 11.6.4...

    21天学通Java-由浅入深

    225 11.3 抛出异常 225 11.3.1 抛出异常的简单介绍 225 11.3.2 使用throws和throw语句抛出异常 227 11.4 自定义异常 227 11.4.1 创建和使用自定义异常类 227 11.4.2 自定义异常的实际应用 228 11.5 综合练习 231 ...

Global site tag (gtag.js) - Google Analytics