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 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- php 中const和 define的区别
在php中定义常量时,可用到const与define这两种方法,那他们到底有什么区别呢? 1.const用于类成员变量的定义,一经定义,不可修改.define不可用于类成员变量的定义,可用于全局常量. ...
- 通过yocto给p1010rdb定制linux,并启动linux
一.通过yocto定制linux 1.安装yocto yocto只能在非root用户下编译,所以先新建一个用户. useradd chen passwd -d chen 重启电脑进入chen用户. ...
- JavaScript中setTimeout()和setInterval()的区别
含义: setTimeout()和setInterval()经常被用来处理延时和定时任务.使用setTimeout()处理延时任务,而使用setInterval()方法处理定时任务: setTimeo ...
- 【剑指offer】面试题23:从上往下打印二叉树
题目: 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 思路: bfs,队列. 注意,队列最后不要忘了pop(). 代码: /* struct TreeNode { int val; stru ...
- 喜欢的女生快被别人抢走了,我敢怎么抢? - V2EX
喜欢的女生快被别人抢走了,我敢怎么抢? - V2EX 三大定律镇楼: 第一定律:永远不要以为女生对你有好感.第二定律:告白等于见光死.第三定律:秀恩爱分得快.
- python-MySQL库简单安装
1 raise EnvironmentError("%s not found" % (mysql_config.path,)) EnvironmentError: mysql_c ...
- 遍历父视图上的button
for (UIView * thebtn in [self.view subviews]) { if ([thebtn isKindOfClass:[UIButton class]]) { //*** ...
- Java 的zip压缩和解压缩
Java 的zip压缩和解压缩 好久没有来这写东西了,今天中秋节,有个东西想拿出来分享,一来是工作中遇到的问题,一来是和csdn问候一下,下面就分享一个Java中的zip压缩技术,代码实现比较简单,代 ...
- poj1664 放苹果(递归)
转载请注明出处:http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://poj.org/problem?id=1664 ------ ...
- Linux SSH 远程操作与传送文件
操作系统:centos 6.5 x64 一.远程连接:在进行linux 的 ssh远程操作前,一定要确认linux 是否安装了 openssh-clients,为了方便起见,一般用yum安装即可:# ...