AWT组件及事件处理(一)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
class Thatwindow extends Frame {MenuBar menubar; Menu menu1,menu2,item1; MenuItem item11,item12,item2,item3,item4,item5; MenuShortcut shortcut=new
MenuShortcut(KeyEvent.VK_C);
setSize(200,200); setBackground(Color.white); setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑");
item1=new CheckboxMenuItem("新建"); item2=new CheckboxMenuItem("保存"); item3=new CheckboxMenuItem("打印"); item4=new CheckboxMenuItem("复制"); item5=new CheckboxMenuItem("全选"); menu1.add(item1); menu1.addSeparator() ; menu1.add(item2);menu1.add(item3); menu2.add(item4); menu2.addSeparator() ; menu2.add(item5); menubar.add(menu1);menubar.add(menu2); setMenuBar(menubar); } }
本次课教学目标
掌握菜单的创建 掌握复选菜单项及子菜单的创建 能为菜单项添加快捷键 掌握文本框的主要方法及应用
菜单
AWT中菜单由三个类实现,它们是MenuBar、 Menu和MenuItem,分别对应菜单条、菜单和菜 单项。
菜单放在菜单条里,菜单项ቤተ መጻሕፍቲ ባይዱ在菜单里。
菜单 菜单条
菜单项
菜单条(MenuBar)
item4.setShortcut(shortcut); item5=new MenuItem("全选"); item11=new MenuItem("文档"); item12=new MenuItem("图像");
menu1.add(item1); menu1.addSeparator() ; menu1.add(item2);menu1.add(item3); menu2.add(item4); menu2.addSeparator() ; menu2.add(item5); item1.add(item11);item1.add(item12); menubar.add(menu1);menubar.add(menu2); setMenuBar(menubar); } }
容器Container类是Component抽象类的一个子类,一个容器 可以容纳多个组件,并使它们成为一个整体。所有的容器都 可以通过add()方法向容器中添加组件。
在Java中,每一个GUI应用程序都必须至少有一个顶层窗口, 顶层窗口也称为框架,在AWT中,对应的框架类是Frame
使用构造方法Frame()或Frame(String title)创建的窗口默认初 始大小为(0,0),并且不可见,默认背景色为白色。为了使窗 口显示出来,可调用其父类Component的方法setSize(int width,int height)来设置其大小;调用setVisible (Boolean b) 方法将其设为可见;调用setBackground(Color c) 方法来设置 背景色。
m2=new Menu("编辑"), m3=new Menu("帮助"); mb.add(m1);mb.add(m2);mb.add(m3); MenuItem mi1=new MenuItem("新建"), mi2=new MenuItem("打开"), mi3=new MenuItem("剪切"), mi4=new MenuItem("复制");
菜单Menu类的常用构造方法: ➢ public Menu():构造一个无标识菜单。 ➢ public Menu(String label):用给定的标识构造 一个菜单。
Menu类的常用成员方法: ➢ void add(MenuItem item):向菜单中追加菜单项 ➢ void add(String s):向菜单中追加名称为s 的菜单
第七章 AWT组件及事件处理(一)
复习巩固
为了方便开发图形用户界面,Java提供了AWT和Swing两个 图形用户界面工具包 ,以生成各种标准图形界面元素和处理 图形界面的各种事件。
Java中构成图形用户界面的各种元素,称为组件(Component)。 AWT组件分为容器类组件和非容器类组件两大类。
m1.add(mi1);m1.add(mi2); m2.add(mi3);m2.add(mi4); m3.add("关于"); setMenuBar(mb); setBackground(c); setBounds(100,100,300,200); addWindowListener(new WindowAdapter()
文本框是用于接受用户通过键盘输入的可编辑单 行文本组件。
1、TextField类的构造方法有四种:
➢ public TextField():创建一个空的文本框(可输入 若干个字符);
➢ public TextField(int columns):创建一个指定字符 长度的文本框;
➢ public TextField(String text):创建一个指定初始内 容的文本框;
➢ void remove(int n):删除指定位置的菜单选项 ➢ void removeAll( ):清除菜单中所有选项 ➢ void disable();将菜单项设为不可选。 ➢ void enable();将菜单项设为可选。
创建了Menu对象后,使用MenuBar类的add方法 将其添加到菜单条中。 例如:
public class SubmenuDemo extends Applet { Thatwindow window;
public void init() {window = new Thatwindow("音乐之窗"); } }
窗口与屏幕
如需返回屏幕的宽和高,需用到Toolkit类和 DiMension类来完成:
public class MenuDemo extends Applet
{ Thiswindow window; public void init() {window = new Thiswindow("音乐之窗"); }
}
3、嵌入子菜单:菜单项本身是一个菜单,这样的菜 单项称为子菜单。
4、设置菜单项的快捷键: 可使用MenuShortcut类为菜单项设置快捷键。 ➢创建MenuShortcut对象 MenuShortcut类的构造方法:
MenuShortcut(int key) 其中key的值可取:KeyEvent.VK_A~ KeyEvent.VK_Z ➢菜单项使用setShortcut(MenuShortcut k)方法 来设置快捷键。
例:设计如下所示的菜单。
import java.awt.*; import java.applet.*; import java.awt.event.*;
Thatwindow(String s)
{super(s);
setSize(200,200);
setBackground(Color.white);
setVisible(true);
menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new Menu("新建"); item2=new MenuItem("保存"); item3=new MenuItem("打印"); item4=new MenuItem("复制");
Menu fm = new Menu("File"); mb.add(fm);//mb为前面创建的菜单条对象。
菜单项(MenuItem)
MenuItem类的主要方法: ➢ public MenuItem(String s):构造有标题的菜单项; ➢ public MenuItem( ):构造无标题的菜单项; ➢ setEnabled(boolean b):设置当前菜单项是否可被
构造方法:MenuBar() 创建之后,可调用Window类(Frame的父类)的
方法setMenuBar将它设置成窗口的菜单条。 如: MenuBar mb = new MenuBar(); window.setMenuBar(mb);
只能向窗口添加一个菜单条。
菜单(Menu)
添加菜单条,并不会显示任何菜单,还需要在菜 单条中添加菜单。

➢ MenuItem getItem(int n):返回索引处的菜单项 ➢ int getItemCount( ):得到菜单选项的数目 ➢ void insert(MenuItem item,int n ):在指定位置插
入菜单选项
➢ void insert(String s,int n):在指定位置插入名称 为s的菜单项
➢ public TextField(String tex, int columns):创建一个 指定长度、指定初始内容的文本框。
f.setVisible(true); //f.show(); } }
菜单技巧: 1、增加分割线:addSeparator( ); 2、复选框菜单项:CheckboxMenuItem
例:完成如下图所示的菜单的设计。
import java.awt.*; import java.applet.*; class Thiswindow extends Frame {MenuBar menubar; Menu menu1,menu2; CheckboxMenuItem item1,item2,item3,item4,item5; Thiswindow(String s) {super(s);
选择 ➢ getLabel( ):返回菜单选项的名字
创建菜单条式菜单的基本步骤: ➢创建菜单条:MenuBar mb=new MenuBar( ); ➢创建菜单,添加到菜单条中:Menu m1=new Menu(“file”);mb.add(m1); ➢创建菜单项,加入到菜单中:
MenuItem mi1=new MenuItem(“save”); m1.add(mi1); ➢将建成的菜单条加入到容器中: setMenuBar(mb);
例:设计如下图所示的菜单.
import java.awt.*; import java.awt.event.*; class MyFrame extends Frame { public MyFrame(String s,Color c) {super(s);
MenuBar mb=new MenuBar( ); Menu m1=new Menu("文件"),
➢ Toolkit tool =getToolkit( ); ➢ Dimension dim=tool.getScreenSize( );
dim.width和dim.height可以获取Dimension对象的宽 和高。
文本框
AWT中用于文本 编辑的基本组件有两种:单行文 本框 TextField和多行文本区域TextArea,它们都 是TextComponent的子类。
{public void windowClosing(WindowEvent e) {System.exit(0);} });//窗口适配器(处理窗口事件)
} } public class UseMenu {public static void main(String args[]) {MyFrame f=new MyFrame("菜单设计",Color.pink);
相关文档
最新文档