菜单放在菜单条里,菜单项放在菜单里
1.MenuBar
    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条。
    在Frame类中的setMenuBar(MenuBar bar)方法,可把菜单条添加到窗口的顶端,但只能向窗口中添加一个菜单条
2.Menu
    在java.awt包中,负责创建菜单,即Menu的一个实例,便是一个菜单。
    Meun类的方法如下:
            Menu()   建立一个空标题的菜单
            Menu(String s)     建立一个标题为s的菜单
            public void add(MenuItem item)    向菜单中添加由参数item指定的菜单项
            public MenuItem getItem(int n)    得到指定索引处的菜单项
            public int getItemCount()    得到菜单项数目
3.MenuItem
    在java.awt包中,负责创建菜单项,即Menu的一个实例,便是一个菜单项。
    MenuItem类的方法如下:
            MenuItem()    创建无标题菜单项
            MenuItem(String s)    构造标题为s的菜单项
            public void setEnable(boolean b)    设置当前菜单项是否可被选择
            public String getLabel()    得到菜单项的名字
4.有关菜单的几个技巧
    (1)增加菜单项分隔线
        要在菜单项之间增加分隔线。只需使用Menu类中的addSeparator()方法
        如下:
            menu1.add("新建");//menu1是Menu的一个实例
            menu1.addSeparator();//在新建和保存之间添加分隔线
            menu1.add("保存");
            menu1.add("打印");
    (2)复选框菜单项
        如果想在选择一个菜单项时出现对号标记,可以用CheckboxMenuItem类来创建这个菜单项
        如:
            item1=new CheckboxMenuItem("新建");
    (3)嵌入子菜单
        Menu不仅可以添加MenuItem对象,也可以添加Menu对象,被添加的菜单叫子菜单

5.窗口和屏幕
Toolkit类(抽象类,其不能直接用构造方法创建,java运行环境中提供了,可用getToolkit()方法引用)
有如下方法:Dimension getScreenSize();
返回的Dimension对象中的width的值是屏幕的宽,heigt的值是屏幕的高

实练任务:创建一个带菜单的窗口,窗口的宽和屏幕的宽相同,高是屏幕高的一半
如下代码:

import java.awt.*;
class FirstWindow extends Frame
{
MenuBar menubar;
Menu menu;
MenuItem item1,item2;
FirstWindow(String s){
setTitle(s);
Toolkit tool=getToolkit();
Dimension dim=tool.getScreenSize();
setBounds(0,0,dim.width,dim.height/2);
menubar=new MenuBar();
menu=new Menu("文件");
item1=new MenuItem("打开");
item2=new MenuItem("保存");
menu.add(item1);
menu.add(item2);
menubar.add(menu);
setMenuBar(menubar);
setVisible(true);
} }
public class Example1
{
public static void main(String[] args){
new FirstWindow("这是一个带菜单的窗口");
}
}

java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项的更多相关文章

  1. java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件

    学习处理事件时,必须很好的掌握事件源,监视器,处理事件的接口    1.事件源        能够产生java认可事件的对象都可称为事件源,也就是说事件源必须是对象    2.监视器        监 ...

  2. java学习:AWT组件和事件处理的笔记(1)--Frame

    1.java的抽象窗口工具包(AWT)中包含了许多类来支持GUI设计2.AWT由java的java.awt包提供3.再进行GUI编程时,要理解:容器类(Container),组件(component) ...

  3. java学习:AWT组件和事件处理的笔记(1)--文本框

    java.awt包中的TextField类是专门用来建立文本框的,即TextField类创建的一个对象便是一个文本框. 1.TextField类的主要方法    (1)TextField()      ...

  4. JAVA学习AWT绘图

    package com.graphics; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel ...

  5. java学习之路--零碎的知识笔记

    java运算符: 自增自减运算符: int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再 ...

  6. JAVA学习第二步,初级知识框架梳理

    回顾往期的学习,才发现已经学习了这么多知识点.这里复制了其他创作者的一些梳理结合自己的梳理.总结了自己在Java学习入门阶段的知识点.笔记自己了也写了详细的两本 第一章 Java面向对象 1-1包的定 ...

  7. Java学习笔记--Swing用户界面组件

    很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...

  8. Java基础知识笔记第九章:组件及事件处理

    java Swing 图形用户界面(GUI : Graphics User Interface) 窗口 JFrame常用方法 JFrame()创建一个无标题的窗口. JFrame(String s)创 ...

  9. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

随机推荐

  1. c# vs2010 winfrom控件检测网络环境

    写下以作备用,代码附上. public partial class UserControl1 : UserControl, IObjectSafety { //检测网络状态 [DllImport(&q ...

  2. 编译安装hph

    一.安装相关的依赖: yum -y install gcc gcc-c++ bzip2-devel libjpeg-devel libpng-devel freetype-devel libxml2- ...

  3. @Scheduled(cron="") spring定时任务时间设置

    一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素. 按顺序依次为 秒(0~59) 分钟(0~59) 小时(0~23) 天(月)(0~31,但是你需要考虑你月的天数) 月(0~11) 天( ...

  4. js中得call()方法和apply()方法的用法

    方法定义 call方法: 语法:call([thisObj[,arg1[, arg2[,   [,.argN]]]]]) 定义:调用一个对象的一个方法,以另一个对象替换当前对象. 说明: call 方 ...

  5. 段(SEGMENT)

    伪指令SEGMENT被用来声明一个普通段.一个再定位类型(relocation type)和一个地址分配类型(allocation type)可以按如下形式指明: segment SEGMENT cl ...

  6. qt 多线程之间通讯

    问题描述:界面线程MainApp为主线程,工作线程MyThread为一子线程,从工作线程向主线程传递字符串用于在主线程中显示. Qt的信号与槽机制可以将任何继承自QObject类的对象捆绑在一起,使不 ...

  7. JavaScriptSerializer类 对象序列化为JSON,JSON反序列化为对象

    JavaScriptSerializer 类由异步通信层内部使用,用于序列化和反序列化在浏览器和 Web 服务器之间传递的数据.说白了就是能够直接将一个C#对象传送到前台页面成为javascript对 ...

  8. setTimeout()使用

    Basic setTimeout() Example setTimeout(function() {       // Do something after 5 seconds }, ); Tip:  ...

  9. bzoj1649 [Usaco2006 Dec]Cow Roller Coaster

    Description The cows are building a roller coaster! They want your help to design as fun a roller co ...

  10. java List与数组互转

    数组转List:String[] arr = new String[] {"str1", "str2"};List<String> list = A ...