`
robinsoncrusoe
  • 浏览: 748784 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Java AWT的菜单实例演示

    博客分类:
  • JAVA
阅读更多

package com.jtang.zhe.java;
import java.awt.*;
import java.awt.event.*;

import java.awt.CheckboxMenuItem;
import java.awt.Frame;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;
import java.awt.MenuShortcut;
import java.awt.PopupMenu;
import java.awt.TextArea;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;


public class SimpleMenu {
	   private Frame f=new Frame("测试");
	    private MenuBar mb=new MenuBar();
	    PopupMenu pop=new PopupMenu();
	    Menu file=new Menu("文件");
	    Menu edit=new Menu("编辑");
	    MenuItem newItem=new MenuItem("新建");
	    MenuItem saveItem=new MenuItem("保存");
	    //创建exitItem菜单项,指定使用Ctrl+X快捷键
	    MenuItem exitItem=new MenuItem("退出",new MenuShortcut(KeyEvent.VK_X));
	    CheckboxMenuItem autoWrap=new CheckboxMenuItem("自动换行");
	    MenuItem copyItem=new MenuItem("复制");
	    MenuItem pasteItem=new MenuItem("粘贴");
	    Menu format=new Menu("格式");
	    //创建commentItem菜单项,指定使用Ctrl+Shift+/快捷键
	    MenuItem commentItem=new MenuItem("注释",new MenuShortcut(KeyEvent.VK_SLASH,true));
	    MenuItem cancelItem=new MenuItem("取消注释");
	    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    CheckboxMenuItem autoWrap1=new CheckboxMenuItem("自动换行");
	    MenuItem copyItem1=new MenuItem("复制");
	    MenuItem pasteItem1=new MenuItem("粘贴");
	    Menu format1=new Menu("格式");
	    //创建commentItem1菜单项
	    MenuItem commentItem1=new MenuItem("注释");
	    MenuItem cancelItem1=new MenuItem("取消注释");
	    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	    private TextArea ta=new TextArea(6,40);
	    public void init()
	    {
	        //以匿名内部类的形式创建菜单******
	        ActionListener menuListener=new ActionListener()
	        {
	            public void actionPerformed(ActionEvent e)
	            {
	                String cmd=e.getActionCommand();
	                ta.append("单击'"+cmd+"'菜单"+"\n");
	                if(cmd.equals("退出"))
	                {
	                    System.exit(0);
	                }
	            }
	        };
	        commentItem.addActionListener(menuListener);
	        //
	        commentItem1.addActionListener(menuListener);
	        exitItem.addActionListener(menuListener);
	        //为file菜单添加菜单项
	        file.add(newItem);
	        file.add(saveItem);
	        file.add(exitItem);
	        //为edit菜单添加菜单项
	        edit.add(autoWrap);
	        //使用addSeparator方法来添加菜单分隔线
	        edit.addSeparator();
	        edit.add(copyItem);
	        edit.add(pasteItem);
	        //为format菜单添加菜单项
	        format.add(commentItem);
	        format.add(cancelItem);
	        //------------------------------------------------------------
	        //为format1菜单添加菜单项
	        format1.add(commentItem1);
	        format1.add(cancelItem1);
	        //------------------------------------------------------------
	        //使用添加new MenuItem("-")的方式添加菜单分隔线
	        edit.add(new MenuItem("-"));
	        //将format菜单组合到edit菜单中,从而形成二级菜单
	        edit.add(format);
	        //============================================================
	        //为pop菜单添加菜单项
	        pop.add(autoWrap1);
	        //使用addSeparator方法来添加菜单分隔线
	        pop.addSeparator();
	        pop.add(copyItem1);
	        pop.add(pasteItem1);
	        pop.add(new MenuItem("-"));
	        pop.add(format1);
	        ta.add(pop);
	        ta.addMouseListener(new MouseAdapter(){
	            public void mouseReleased(MouseEvent e)
	            {
	                if(e.isPopupTrigger())
	                {
	                    pop.show(ta,e.getX(),e.getY());
	                }
	            }
	        });
	        //============================================================
	        //将file、edit菜单添加到mb菜单条中
	        mb.add(file);
	        mb.add(edit);
	        //为f窗口设置菜单条
	        f.setMenuBar(mb);
	        //以匿名内部类的形式来创建事件******对象
	        f.addWindowListener(new WindowAdapter(){
	            public void windowClosing(WindowEvent e)
	            {
	                ta.append("用户试图关闭窗口!\n");
	                System.exit(0);
	            }
	        });
	        f.add(ta);
	        f.pack();
	        f.setVisible(true);
	    }
	    public static void main(String[] args)
	    {
	        new SimpleMenu().init();
	    }

}

分享到:
评论

相关推荐

    250个Java实例源代码.rar

    7. **Swing和AWT**:作为Java的图形用户界面(GUI)工具包,Swing和AWT可以用于创建桌面应用,实例可能包含按钮、文本框、菜单等组件的使用。 8. **网络编程**:Java的Socket编程允许创建客户端和服务器,实例可能...

    Java Swing 组件全演示源代码.zip

    这个“Java Swing 组件全演示源代码.zip”文件包含了对Java Swing各种组件的实例化和使用展示,非常适合初学者学习和开发者参考。 首先,Swing提供了大量的组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel...

    java事件 选项事件 实例代码

    "选项事件"(ItemEvent)是Java AWT(Abstract Window Toolkit)和Swing库中的一种特定事件类型,用于处理组件如单选按钮(JRadioButton)、复选框(JCheckBox)或组合框(JComboBox)中的选择变化。当我们对这些...

    java基础实例

    这个实例讲解了如何使用Java的AWT和Swing库来实现颜色转换和过滤,提升用户体验。 7. 实例19 - 菜单:菜单是用户界面中常见的元素,用于组织和呈现命令选项。Java提供了JMenu和.JMenuItem等类来创建和管理菜单,这...

    swing各个组件实例演示

    它是在早期AWT(Abstract Window Toolkit)基础上发展起来的,提供了更为丰富的组件和更好的可定制性。本教程将深入探讨Swing组件的实例应用,帮助开发者更好地理解和掌握Swing在实际编程中的运用。 一、Swing组件...

    java 触发事件应用实例

    Java AWT和Swing库提供了各种类型的监听器,如ActionListener用于处理动作事件,MouseListener处理鼠标事件,KeyListener处理键盘事件等。开发者需要实现这些接口并提供相应的方法来处理事件。 事件对象(Event ...

    11MenuTest.rar_awt

    以下是一些关于AWT菜单组件使用的关键知识点: 1. **MenuBar**: 这是放置在窗口顶部的菜单条,通常包含了多个菜单项。在AWT中,你可以使用`MenuBar`类创建一个菜单栏,然后将其添加到窗口的`frame.setMenuBar...

    Java图形用户界面设计与实例

    在Java中,我们可以利用Java AWT(Abstract Window Toolkit)和Swing库来构建GUI。这些库提供了丰富的组件集合,如按钮、文本框、菜单等,用于构建桌面应用的前端界面。 Java AWT是Java早期提供的GUI工具包,它是...

    SUN公司的java实例代码

    8. **Swing和AWT**:如果涉及到图形用户界面(GUI)开发,那么可能用到了Java的Swing或AWT库,展示如何创建窗口、按钮、菜单等组件。 9. **Java Applet**:早期的Web应用技术,SUN公司可能会有Java Applet的示例,它...

    Java开发技术大全(500个源代码).

    compare.java 演示前缀、后缀自加之间区别的程序 constCharExample.java 演示转义字符 converseNumber.java 逆向输出数字 daffodilNumber.java 求水仙花数 division.java 演示整除结果 errorCompoundVariable....

    java程序40例 源代码

    Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了更为灵活和美观的组件。这些源代码实例涵盖了Swing中的各种组件,如按钮(JButton)、文本框(JTextField)、标签(JLabel)、面板(JPanel)、菜单...

    java swing漂亮界面 超酷 javaswing教程

    在“Java Swing教程”中,我们会详细讲解如何使用这些组件、布局管理器、事件处理和外观定制,通过实例代码演示如何一步步构建出美观且功能丰富的应用程序。无论是初学者还是有一定经验的开发者,都能从中学习到如何...

    java swing 鼠标自动移动

    1. **Java Swing**: Swing 提供了丰富的组件库,如按钮、文本框、菜单等,允许开发者创建复杂的用户界面。与AWT(Abstract Window Toolkit)相比,Swing组件是轻量级的,基于Java而不是操作系统底层,因此具有更好的...

    JAVA实现系统托盘

    - **java.awt.PopupMenu**:用于创建托盘图标弹出菜单。 - **java.awt.Image**:表示图像。 - **java.awt.Toolkit**:工具包类,提供各种操作图形界面的工具。 #### 四、示例代码分析 下面是一个简单的Java系统托盘...

    Java图形用户界面的设计与实现.zip

    在Java中,我们可以使用内置的Java AWT(Abstract Window Toolkit)和Swing库来创建丰富的GUI。本资料包包含了多个示例,帮助开发者深入理解并实现Java GUI。 1. **BorderExample**:这个例子展示了如何使用不同的...

    一个简单的Java布局的程序

    程序的核心在于如何使用`java.awt`包中的类来实现基本的图形用户界面(GUI)布局,并且演示了如何在窗口中添加面板、按钮以及自定义画布等组件。 #### 代码解析 ##### 导入必要的库 程序首先导入了`java.awt.*`和...

    Java2程序设计150例(源代码)

    《Java2程序设计150例(源代码)》是一份珍贵的学习资源,它涵盖了Java2(也称为Java 2平台标准版,J2SE)的广泛应用实例,旨在帮助开发者深入理解和掌握Java编程语言的核心特性。这个压缩包包含了150个精心挑选的...

    JAVA画图形学程序(论文+源代码).zip

    1. **示例程序**:演示如何使用Java图形API创建简单的图形和界面,如画布上绘制几何图形,或者创建按钮和菜单。 2. **交互实例**:展示如何处理用户输入,例如点击按钮触发特定动作,或者拖动鼠标绘制图形。 3. **...

    java图形用户界面的例子

    `CeneredFrameTest`这个文件名可能是包含一个演示如何在Java中创建一个居中显示的JFrame的示例程序。JFrame是Swing库中的一个核心组件,它是窗口的基础,可以用来承载其他组件。 在Java GUI设计中,创建一个居中的...

    java-GUI界面组件案例大全(内含139个完整Demo)

    每个Demo都应包含一个完整的程序实例,演示了如何创建、配置和使用这些组件。通过逐个学习和运行这些案例,开发者不仅能掌握Java GUI的基础,还能了解到如何在实际项目中运用这些组件和设计模式。对于初学者来说,这...

Global site tag (gtag.js) - Google Analytics