java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项
菜单放在菜单条里,菜单项放在菜单里
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)--菜单条,菜单,菜单项的更多相关文章
- java学习:AWT组件和事件处理的笔记(1)--文本框上的ActionEvent事件
学习处理事件时,必须很好的掌握事件源,监视器,处理事件的接口 1.事件源 能够产生java认可事件的对象都可称为事件源,也就是说事件源必须是对象 2.监视器 监 ...
- java学习:AWT组件和事件处理的笔记(1)--Frame
1.java的抽象窗口工具包(AWT)中包含了许多类来支持GUI设计2.AWT由java的java.awt包提供3.再进行GUI编程时,要理解:容器类(Container),组件(component) ...
- java学习:AWT组件和事件处理的笔记(1)--文本框
java.awt包中的TextField类是专门用来建立文本框的,即TextField类创建的一个对象便是一个文本框. 1.TextField类的主要方法 (1)TextField() ...
- JAVA学习AWT绘图
package com.graphics; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel ...
- java学习之路--零碎的知识笔记
java运算符: 自增自减运算符: int b = ++a; 拆分运算过程为: a=a+1=4; b=a=4, 最后结果为b=4,a=4 前缀自增自减法(++a,--a): 先进行自增或者自减运算,再 ...
- JAVA学习第二步,初级知识框架梳理
回顾往期的学习,才发现已经学习了这么多知识点.这里复制了其他创作者的一些梳理结合自己的梳理.总结了自己在Java学习入门阶段的知识点.笔记自己了也写了详细的两本 第一章 Java面向对象 1-1包的定 ...
- Java学习笔记--Swing用户界面组件
很多与AWT类似. 事件处理参考:Java学习笔记--AWT事件处理 1.设计模式: 模型:存储内容视图:显示内容控制器:处理用户输入· 2. 文本输入常用组件 2.1 文本域: JLabel lab ...
- Java基础知识笔记第九章:组件及事件处理
java Swing 图形用户界面(GUI : Graphics User Interface) 窗口 JFrame常用方法 JFrame()创建一个无标题的窗口. JFrame(String s)创 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- Python 之socket的应用
本节主要讲解socket编程的有关知识点,顺便也会讲解一些其它的关联性知识: 一.概述(socket.socketserver): python对于socket编程,提供了两个模块,分别是socket ...
- string下的 maketrans和translate
在玩python challenge的时候发现一个比较有趣的函数所以记下来. 问题是这样的 g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amkn ...
- winform 窗口点击窗体任意位置移动窗体
private bool _isDown; private Point _mousePoint; private void Users_MouseDown(object sender, MouseEv ...
- C51编程中对单片机绝对地址访问的两种方法
在进行8051单片机应用系统程序设计时,编程都往往少不了要直接操作系统的各个存储器地址空间.C51程序经过编译之后产生的目标代码具有浮动地址,其绝对地址必须经过BL51连接定位后才能确定.为了能够在C ...
- Linux下配置C/C++开发环境-----Eclipse
先自己去官网下载jdk. 解压即安装. 然后在~/.bashrc文件里面配置下环境变量就行了.在文件最后添加以下路径,如下: JAVA_HOME=/home/username/jdk/jdk1.8.0 ...
- UVA 712-S-Trees(满二叉树的简单查询)
题意:给一棵满二叉树,叶子节点赋予权值,0或者1,对于每个查询输出叶子节点的权值,每个查询0代表往左走,1代表往右走,这题坑的地方是层的访问顺序,如第二组测试,由上到下依次是x3,x1,x2,假如给一 ...
- 给Visual Studio更替皮肤和背景图
给Visual Studio更换皮肤和背景图 1.先安装更换皮肤的插件 VS菜单栏里面找到:工具>扩展和更新>联机>搜索: Theme Editor 下载并安装: 安装后先不着 ...
- UGUI Image控件
今天一起学习Image控件O(∩_∩)O~ 介绍一下基本的属性 Source:Image: 指定图片源, 图片设置2DSprite(2D and UI)格式Color: ...
- nsinteger 与 int 区别
在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型. 当你不知道你的操作系统是什么类型的时候,你通常会想要使用NSInteger,所以或许你想要你的 ...
- 产生冠军(set,map,拓扑结构三种方法)
产生冠军 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...