AWT-组件
AWT组件事件监听接口总结
![AWT组件事件监听接口总结](https://img.taocdn.com/s3/m/fcbe8974f46527d3240ce051.png)
说明本文章由黄邦勇帅整理,主要参考自JavaTM 2 Platform Standard Edition 6API 开发人员文档本文主要对AWT中的组件,事件及监听接口之间的关联关系作了总结,以方便开发程序时快速查阅。
容器大总结(共2页)1、Component类Component类:是一个抽象类,Component类是所有组件的父类,他封装了组件的通用方法其常量有(都为static float类型):BOTTOM_ALIGNMENT 组件底部对齐方式,其值为0,表示在Y轴的原点CENTER_ALIGNMENT 组件居中对齐方式。
其值为0.5,表示在中间LEFT_ALIGNMENT 组件左对齐方式。
其值为0表示在X轴的原点RIGHT_ALIGNMENT 组件右对齐方式。
其值为1,表示在离X轴最远的地方TOP_ALIGNMENT 组件顶部对齐方式。
其值为1,表示在离Y轴最远的地方其方法有:常用方法:boolean isVisible(); 检查组件在其父容器可见时是否可见,组件最初为可见,但顶层组件如Frame等是例外。
void setVisible(boolean b);根据b的值来设置组件是可见还是不可见,该函数会在以后经常用到。
void setEnabled(boolean b);启用或禁用一个组件。
void setBackground(Color c);设置组件的背景色void setForeground(Color c);设置组件的前景色boolean isEnabled(); 检查组件是否被启用了,若组件被启用则能接受键盘输入,默认组件是启用的。
void setFont(Font f); 设置组件的字体。
Container getParent(); 反回组件的父级组件。
Color getBackground(); 反回组件的背景色Color getForeground(); 反回组件的前景色Font getFont(); 反回组件的字体。
第七讲AWT组件及事件处理
![第七讲AWT组件及事件处理](https://img.taocdn.com/s3/m/3cc4a785bceb19e8b8f6ba13.png)
补充知识
窗口(Window) 1、窗口(Window)
java.awt.Window是三个窗口组件中最基本的组 java.awt.Window是三个窗口组件中最基本的组 它实际上是Frame Dialog组件的超类 Frame与 组件的超类。 件,它实际上是Frame与Dialog组件的超类。窗口组 件没有边界、标题栏与菜单栏,而且大小不可以调整。 件没有边界、标题栏与菜单栏,而且大小不可以调整。 常用窗口实现的界面包括:产品信息的封面(如 常用窗口实现的界面包括:产品信息的封面( Outlook等软件启动时 等软件启动时, Outlook等软件启动时,显示在屏幕中间且几秒后自 动消失的封面窗口) 提示帮助信息( 动消失的封面窗口),提示帮助信息(如使用金山词霸 等软件时, 等软件时,移动鼠标到某个英文单词上时自动弹出的 解释信息) 解释信息)等。
Pane
ScrollPane
TextArea TextComponent TextField
补充知识
五、窗口类
AWT 提 供 了 三 个 在 屏 幕 上 显 示 窗 口 的 组 件 : Window、 Frame和 Dialog。 Window 、 Frame 和 Dialog 。 这三个组件都用于显示 窗口,而且相互之间的区别也不明显, 窗口,而且相互之间的区别也不明显 ,因此有时候 很难确定到底使用哪个组件更好。 很难确定到底使用哪个组件更好。
7.1 Java窗口
二、菜单条、菜单、菜单项 菜单条、菜单、
java.awt包中的Menubar类是负责创建菜单条的, java.awt包中的Menubar类是负责创建菜单条的, 包中的Menubar类是负责创建菜单条的 Menubar的一个实例就是一个菜单条 Frame类有 的一个实例就是一个菜单条。 即Menubar的一个实例就是一个菜单条。Frame类有 一个将菜单条放置到窗口中的方法: 一个将菜单条放置到窗口中的方法: setMenuBar(MenuBar bar); java.awt包中的Menu类是负责创建菜单的,即 java.awt包中的Menu类是负责创建菜单的, 包中的Menu类是负责创建菜单的 Menu的一个实例就是一个菜单 Menu的一个实例就是一个菜单 java.awt包的MunuItem类负责创建菜单项 包的MunuItem类负责创建菜单项, java.awt包的MunuItem类负责创建菜单项,即 MenuItem的一个实例就是一个菜单项 的一个实例就是一个菜单项。 MenuItem的一个实例就是一个菜单项。
第4(1)章 AWT组件
![第4(1)章 AWT组件](https://img.taocdn.com/s3/m/950be6e19b89680203d8259d.png)
窗口与屏幕
屏幕的宽和高可通过使用Toolkit类中的方法得到, Toolkit类是一个包含许多有用的本地工具方法的类,通过 它可得到系统相关信息。 其中有getToolkit(), getScreenSize()方法 Toolkit tool=getToolkit(); //工具对象 Dimension getScreenSize();获取默认的大小。可以 返回一个Dimension对象, getScreenSize()方法的作用 是取得显示器的像素尺寸,这个对象中有int型成员变量, 分别是屏幕的宽和屏幕的高。 例 Toolkit tool=getToolkit(); Dimension dim=tool.getScreenSize(); setBounds(0,0,dim.width,dim.height);
通过图形用户界面(GUI:Graphics User Interface),用户和程序之间可以方便地进行交 互。 Java的抽象窗口工具包(AWT:Abstract Window Toolkit)中包含了许多类来支持GUI设计。AWT由 Java的java.awt包提供,该包中有许多用来设计 GUI的组件类,如:按钮、菜单、列表、文本框等 组件类,同时它还包含窗口、面板等容器类。
1.TextField
文本框是AWT里最基本的文字处理组件,它可以输入文 字,也可以把输入的文字转成特定的符号。 构造方法: TextField() 创建文本框 TextField(int columns) 创建文本框,并设臵宽度为 columns个机器字符长 TextField(String text) 创建文本框,并以text为默 认的文字 TextField(String text, int length) 创建文本框, 以text为默认的文字,并设臵宽度为length个字符
AWT组件及事件处理
![AWT组件及事件处理](https://img.taocdn.com/s3/m/9edff2272af90242a895e5de.png)
容器
布局管理器
3、外观的管理与控制 在程序中安排组件的位置和大小时,应注意:
容器中布局管理器负责各组件的大小和位置,用户无
法在这种情况下设置组件的这些属性,如试图调用 setLocation(), setSize(), setBounds()等。
如果用户确实需要自己设置组件的大小和位置,则应
public class BorderWindow extends Frame { public BorderWindow() { setLayout(new BorderLayout(5,5)); setFont(new Font("Helvetica", Font.PLAIN, 14)); add("North", new Button("North")); add("South", new Button("South")); add("East", new Button("East")); add("West", new Button("West")); add("Center", new Button("Center"));
ng.Object 事件类 字体类 Button Checkbox Graphics 颜色类 图象类 菜单类
Component List …
布局管理类 Container
Window
Frame Dialog
Panel
Applet
2、包含组件的组件——组件容器(Container)
一个Java的图形用户界面的最基本组成部分就是
Java-AWT详解与用法
![Java-AWT详解与用法](https://img.taocdn.com/s3/m/83e33538af1ffc4fff47ac2b.png)
目录GUI 图形用户界面 (2)AWT的基础知识 (2)AWT的事件处理 (2)事件处理机制 (2)事件分类 (3)事件监听器 (4)事件适配器 (5)灵活设计事件监听器类 (5)用匿名内部类实现事件监听器 (7)事件处理的多重运用 (8)修改组件的默认事件处理方式 (9)常用的AWT组件 (10)Button (11)Label (12)TextComponent文本框 (13)TextField (13)TextArea (14)Checkbox (15)Choice下拉列表框 (17)List (18)Canvas (19)菜单 (19)容器Container (21)Panel类和ScrollPane (22)布局管理器 (23)BorderLayout布局管理器 (23)FlowLayout (24)GridLayout (25)CardLayout (25)取消布局管理器 (26)GUI组件上的图形操作 (26)Graphics类与图形绘制 (26)组件重绘 (27)图像显示 (29)双缓冲技术 (30)GUI 图形用户界面AWT的基础知识AWT事件处理GUI组件上的图形操作常用的AWT组件布局管理器AWT的基础知识GUI(Graphical user interface,即图形用户界面),应用程序提供给用户操作的图形用户界面,包括菜单、窗口、按钮、工具栏、和其他各种屏幕元素。
在JDK中提供了AWT和Swing两个包,用于GUI程序的设计和开发。
AWT是早期版本,swing是对awt的改进,提供了更加丰富的组件和功能,掌握了awt基本上就掌握了swing示例:import java.awt.*;public class Test1 {public static void main(String[] args) {Frame f = new Frame("第一个GUI程序");f.setVisible(true); //设置窗口可见f.setLocation(300, 300); //设置窗口的左上角坐标f.setSize(300, 250); //设置窗口的大小// f.setBounds(300, 300, 300, 250);//设置窗口的坐标和大小// f.setIconImage(image); //设置窗体左上角的图标// f.setResizable(false); //设置窗口是否可以改变大小// f.setMenuBar(mb); //设置窗口的菜单栏// f.dispose(); //释放窗口及其组件的所有资源,关闭窗口,结束AWT线程}}程序的GUI部分由AWT线程管理,只要程序中有线程存在,则程序是不会结束的。
第9章 AWT组件及应用
![第9章 AWT组件及应用](https://img.taocdn.com/s3/m/7e07d19483d049649b665822.png)
2015/11/18
计算机学院
13
9.3.2 窗口事件
WindowEvent类对应窗口事件,包括用户单击了关闭按钮,窗口 得到与失去焦点,窗口最小化等。窗口事件对应的事件监听器是 WindowListener。 【例9.3】一个数如果恰好等于它的因子之和,这个数就称为“完 数”。 运行程序,在文本框中输入数字1000,按下回车符,则将1000之 内的是完数的及构成完数的因子写入到文本区里,如图9.6所示。
②触发 事件源(Frame) KeyEvent ①注册 ③接收 键盘监听器(keyListener) keyPressed(){„} keyReleased(){„}
触发 MouseEvent
图9.4
2015/11/18
Frame的触发事件
计算机学院 11
9.3.1 AWT事件与监听器
每个具体的事件都是某种事件类的实例,事件类包括:ActionEvent、 ItemEvent、MouseEvent、KeyEvent和WindowEvent等。事件类的类层次结构 如图9.5所示。
event Panel Applet
font
Container
ScrollPane Window Frane
Graphics Button Component Label Chechbox ng.Object MenuConponent List 各种布局管理器 Choice Canvas Toolkit TextField TextArea Dialog
2015/11/18
图9.1 计算机学院 AWT的类层次结构
2
9.1 AWT容器
9.1.1 Window和Frame Window是不依赖于其他容器而独立存在的容器。Window有两个子类: Frame和Dialog。Frame带有标题,而且可以调整大小。Dialog可以被移动, 但是不能改变大小。Frame有一个构造方法Frame(String title),通过它可以 创建一个以参数为标题的Frame对象。Frame的add()方法向容器中加入其他 组件。当Frame被创建后,它是不可见的,必须通过以下步骤使Frame成为 可见的。 (1)调用setSize(int width,int height)显式设置Frame的大小,或者调用 pack()自动确定Frame的大小。pack()方法确保Frame容器中的组件与窗体相 适用的大小。 (2)调用setVisible(true)方法使Frame成为可见。
java语言中awt和swing组件的基本用法
![java语言中awt和swing组件的基本用法](https://img.taocdn.com/s3/m/5aec8cc170fe910ef12d2af90242a8956becaa99.png)
java语言中awt和swing组件的基本用法Java语言中AWT和Swing组件是用于创建图形用户界面(GUI)的工具。
AWT(Abstract Window Toolkit)是Java最早提供的GUI工具包,而Swing是在AWT基础上进行了扩展和改进的高级GUI工具包。
本文将介绍AWT和Swing组件的基本用法。
一、AWT组件的基本用法AWT组件是Java中最基本的GUI组件,它们在不同的平台上都能够保持一致的外观和行为。
下面是AWT常用组件的基本用法:1. Frame(窗口):使用Frame类可以创建一个基本的窗口。
可以调用setTitle()方法设置窗口标题,setSize()方法设置窗口大小,setVisible()方法显示窗口。
例如:```javaFrame frame = new Frame("My Window");frame.setSize(400, 300);frame.setVisible(true);```2. Panel(面板):Panel是一个容器,用于存放其他组件。
可以使用add()方法将其他组件添加到Panel中。
例如:```javaPanel panel = new Panel();Button button = new Button("Click Me");panel.add(button);```3. Button(按钮):Button用于触发特定的动作。
可以使用addActionListener()方法为按钮添加动作监听器。
例如:```javaButton button = new Button("Click Me");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.out.println("Button Clicked");}});```4. Label(标签):Label用于显示文本信息。
AWT组件及事件处理(一)
![AWT组件及事件处理(一)](https://img.taocdn.com/s3/m/b33fbd43998fcc22bcd10dc3.png)
➢ MenuItem getItem(int n):返回索引处的菜单项 ➢ int getItemCount( ):得到菜单选项的数目 ➢ void insert(MenuItem item,int n ):在指定位置插
入菜单选项
➢ void insert(String s,int n):在指定位置插入名称 为s的菜单项
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()
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); } }
➢ public TextField(String tex, int columns):创建一个 指定长度、指定初始内容的文本框。
awt和swing组件的基本用法
![awt和swing组件的基本用法](https://img.taocdn.com/s3/m/78c94e3703768e9951e79b89680203d8cf2f6a59.png)
AWT和Swing都是Java中用于创建图形用户界面(GUI)的工具。
它们提供了一系列的组件和容器,可以用来创建和管理用户界面元素。
AWT(Abstract Window Toolkit)是Java提供的原始GUI工具包,它包含了许多用于创建GUI组件和容器的类。
Swing则是在AWT的基础上提供了一系列的增强功能和改进,包括更好的组件、更强大的布局管理器以及改进的事件处理等。
下面分别介绍AWT和Swing的一些基本组件和用法:AWT组件:1. 组件(Component):这是所有GUI组件的基类,包括按钮、标签、文本框等。
可以使用add()方法将组件添加到容器中。
2. 容器(Container):容器是一种特殊的组件,可以包含其他组件。
可以使用add()方法将组件添加到容器中。
3. 布局管理器(LayoutManager):布局管理器用于控制组件在容器中的布局方式。
AWT提供了几种布局管理器,如BorderLayout、FlowLayout、GridLayout等。
示例代码:```javaimport java.awt.*;import java.awt.event.*;public class MyAWTDemo {public static void main(String[] args) {Frame frame = new Frame(); // 创建一个Frame窗口frame.setTitle("JavaGUIComponent"); // 设置窗口标题 frame.setBounds(20, 30, 300, 280); // 设置窗口大小和位置frame.setVisible(true); // 设置窗口为可见Button button = new Button("Click me!"); // 创建一个按钮frame.add(button); // 将按钮添加到Frame窗口中frame.addWindowListener(new WindowAdapter() { // 添加窗口关闭事件监听器public void windowClosing(WindowEvent e) {System.exit(0); // 关闭应用程序}});}}```Swing组件:1. JComponent:这是Swing中所有组件的基类,继承自AWT的Component类。
AWT
![AWT](https://img.taocdn.com/s3/m/f7a9e6aed1f34693daef3e4e.png)
AWT是api负责为Java程序建立的图形用户接口,AWT无疑使Java平台中最直观的部分之一。
AWT的基本思想是以面向对象的方法实现了一个跨平台GUI工具集,它提供了各种用于GUI设计的标准组件。
上面的图是AWT组件内容。
1.组件:组件是图形用户界面的,最小单位之一,它里面不再包含其它的成分。
一般的来说组件的作用是完成与用户的一次交互。
例如:接受用户的一个命令。
结束用户的一个文本输入、向用户显示文字或者是图片等等。
组件是图形用户界面标准化结果。
常见的组件有按钮、文本框、密码框等等。
2.容器:容器是用来组织其它界面成分和元素的单元。
一般说来一个应用程序的图形用户界面首先对应一个复杂的容器。
例如一个窗口。
这个容器的内部包含其他的内容。
如:按钮文本框、菜单等等。
也或者包含有其他的容器。
3.布局管理器:为了使生成的图形用户界面具有良好的平台无关性。
在Java语言当中提供了布局管理器这个功能,来管理组件在容器当中的布局。
而不是直接的设置位置和大小。
布局管理器就是一个指定其位置的工具,实现跨平台时仍然保持组件原来的布局。
Java当中所有和awt相关的类,都放在java.awt这个包中。
awt包是Java基本包中比较大的一个包。
在其中定义了GUIi的组件类以及其他用于构造图形用户界面的类。
如:字体类、绘图类等等。
上图描述了awt中的体系结构,采用从上倒下分层方式组织,所以理解和使用起来比较方便。
从这个体系结构我们可以看出,抽象类Component是所有除了菜单类组件之外AWT组件的父类。
他代表一个能以图形化方式显示出来,并且可以与用户交互的对象,例如:他的子类Button就代表按钮、TextArea就代表文本域、Container就代表容器。
从广义角度来讲,AwT是由各种容器组件构成。
如按钮、文本框等等小组件,窗口、框架等等大组件。
还有负责控制的布局管理器组件。
从刚才的AWT组件类层次中我们可以看出,容器类Container是Component的直接子类。
java语言中awt和swing组件的基本用法
![java语言中awt和swing组件的基本用法](https://img.taocdn.com/s3/m/fa2d0201326c1eb91a37f111f18583d049640ff3.png)
java语言中awt和swing组件的基本用法AWT (Abstract Window Toolkit)是Java编程语言的一套图形用户界面(GUI)组件集,它提供了创建和管理窗口、按钮、标签等图形组件的能力。
AWT组件是依赖于操作系统的本地GUI组件。
下面是使用AWT组件的基本步骤:1.导入AWT相关的类:通常在使用AWT组件之前,需要导入`java.awt`和`java.awt.event`包中的类。
2.创建一个Frame:使用`Frame`类来创建一个顶级窗口。
3.创建其他组件:使用AWT提供的组件类(如`Button`、`Label`等)来创建其他需要的组件。
4.将组件添加到Frame:使用`add()`方法将其他组件添加到Frame中。
5.设置Frame的布局:使用`setLayout()`方法设置Frame的布局方式,如`FlowLayout`、`GridLayout`等。
6.设置Frame的大小和可见性:使用`setSize()`方法设置Frame 的大小,使用`setVisible(true)`方法设置Frame可见。
7.添加事件监听器:使用`addActionListener()`方法为按钮等组件添加事件监听器。
Swing是Java编程语言中提供的一组GUI组件,它是在AWT的基础上进行了增强和扩展。
Swing组件是纯Java组件,不依赖于操作系统的本地组件,因此具有更高的可移植性和灵活性。
下面是使用Swing组件的基本步骤:1.导入Swing相关的类:通常在使用Swing组件之前,需要导入`javax.swing`包中的类。
2.创建一个JFrame:使用`JFrame`类来创建一个顶级窗口。
3.创建其他组件:使用Swing提供的组件类(如`JButton`、`JLabel`等)来创建其他需要的组件。
4.将组件添加到JFrame中:使用`add()`方法将其他组件添加到JFrame中。
06新 AWT组件库
![06新 AWT组件库](https://img.taocdn.com/s3/m/fa8bfc29647d27284b735104.png)
6.1 AWT基本组件 基本组件
6.1.4 复选框组 单选按钮 复选框组—单选按钮 创建单选按钮的构造方法是: 创建单选按钮的构造方法是: 单选按钮的构造方法是 public Checkbox (String s,CheckboxGroup c,boolean state ); 创建单选按钮的步骤 首先创建一个 首先创建一个 CheckboxGroup 对象 然后再创建各单选按钮 然后再创建各单选按钮 Page 116 例 6-4 CheckboxGroupDemo.java
6.1 AWT基本组件 基本组件
6.1.12 MenuComponent菜单组件 菜单组件 2、下拉菜单Menu 、下拉菜单 菜单的分类 tear-off 菜单:鼠标离开后,菜单内容仍显 菜单:鼠标离开后, 这种菜单比较常见。 示,这种菜单比较常见。 菜单: 非 tear-off菜单 : 鼠标离开后菜单内容不再 菜单 显示 。
6.1 AWT基本组件 基本组件
6.1.9 List列表框 列表框 2、主要方法 、 boolean allowsMultipleSelections ( ) void clear ( ) int countItems ( ) void delItem ( int position ) void delItems ( int start , int end ) Page 123 例 6-9 ListDemo.java
textArea ( Sting text , int rows , int cols , int scrollbars )
Page 122 例 6-8 TextAreaDemo.java
6.1 AWT基本组件 基本组件
6.1.9 List列表框 列表框 1、构造方法 、 public List ( ) public List ( int rows ) public List ( int rows , boolean isMultiMode )
第9章 AWT组件库
![第9章 AWT组件库](https://img.taocdn.com/s3/m/637270b4336c1eb91a375df2.png)
ButtonExample be = new ButtonExample( );
Checkbox one = new Checkbox("One",cbg,false);
Checkbox two = new Checkbox("Two",cbg,false);
Checkbox three = new Checkbox("Three",cbg,true);
复选框组——单选按钮
第9章 AWT组件库
按钮
按钮(Button)是Java图形用户界面的基 本组件之一。
构造一个不带标 签的按钮
按钮有两个构造方法: public Button( )
public Button(String label)
构造一个带标 签的按钮
按钮
例:
Button b = new Button(“Sample” ); //构造的是一个标签为“Sample”的按钮
// 注册事件监听程序
f.addWindowListener(this); f.setSize(300,150);f.setVisible(true);}
/* 实现ItemListener接口中的itemStateChanged( )方法*/
public void itemStateChanged(ItemEvent e) { String st ; st = e.getItem() +“ selected ”; tf.setText(st); }
javake课件AWT-组件42页PPT
![javake课件AWT-组件42页PPT](https://img.taocdn.com/s3/m/767bd6fb763231126fdb11ad.png)
改进办法: 推出新的图形工具Swing
ห้องสมุดไป่ตู้
8.2 AWT的三个主要概念
基本构件(Components):定义了所有的图 形化界面元素及绘制方法。
容器(Containers):可以容纳多个基本组件, 以便统一操作和管理。
CheckboxGroup group)
Checkbox(String label, CheckboxGroup group,
boolean state)
voidsetState(boolean state) boolean getState()
AWT组件 --Choice(选项菜单)
Choice() Creates a new choice menu. void add(String item) void addItem(String item) StringgetItem(int index) intgetItemCount() StringgetSelectedItem() intgetSelectedIndex() voidselect(int pos)
剪切和粘贴。
一些关于AWT的讨论
AWT(Abstract Window Toolkit)是早期的图形界 面库,是很不成熟的东西,所以被贬 Awkward Window Toolkit
AWT糟糕的设计选择使得Java:
一次编写,到处运行 一次编写,到处测试 write once, run anywhere write once, test everywhere”
the specified string.
AWT组件 --Checkbox(复选框)
TP13AWT组件.ppt
![TP13AWT组件.ppt](https://img.taocdn.com/s3/m/470eeb5da300a6c30c229fad.png)
J2EE_Struts
© 2008 IBM Corporation
IBM 课程体系
复选按钮及单选按钮Checkbox
【示例】本例的运行界面如图所示,当鼠标点击某个Checkbox时,将产生 ItemEvent事件,立即修改标签中显示的内容。
J2EE_Struts
© 2008 IBM Corporation
J2EE_Struts
© 2008 IBM Corporation
IBM 课程体系
AWT组件 AWT的组件有很多,最常见的有Label,Button,TextField,TextArea,
Checkbox,List,Choice,Menu等,下面我们分别进行学习
J2EE_Struts
© 2008 IBM Corporation
第十二章
AWT组件
IBM 课程体系
J2EE_Struts
© 2008 IBM Corporation
IBM 课程体系
AWT – 容器与布局管理器
学习目标 1. Label,Button和TextField组件——熟练掌握; 2. TextArea ——熟练掌握; 3. Checkbox ——熟练掌握; 4. List ——熟练掌握; 5. Choice ——熟练掌握; 6. Menu ——熟练掌握。
AWT组件
![AWT组件](https://img.taocdn.com/s3/m/34be5a79ac02de80d4d8d15abe23482fb5da024c.png)
AWT组件AWT组件awt的组件都包括在组件类Component中。
在此我们先来看一下java.awt包中都有些什么重要的类。
本节中我们主要介绍AWT的常用组件的相关知识。
一、标签Label1.创建Label类对象格式:public Label([String str])例如:Label L1=new Label(“This is a Label!”)public Label(String str,int align)注:align=Label.LEFT|Label.RIGHT|Label.CENTER2.常用方法:public String getText() //得到标签文本public void setText(String s)//为标签设置只读文本信息public void setAlignment(int align) //设置对齐方式public void setBackground(Color c)//设置背景颜色public void setForeground(Color c)//设置字体颜色【例 13】标签的示例。
import java.awt.*;import java.applet.Applet;public class label extends Applet{ //创建一个java小程序Label label1,label2; //声明两个标签对象public void init() {label1=new Label();label1.setText("你好!我是一个标签!");label2=new Label("你好!我是另外一个标签!");label2.setBackground(Color.yellow); //设置背景和前景颜色label2.setForeground(Color.red);add(label1);add(label2);}public void paint(Graphics g) {//下面的方法我们在后面学习,这里简单介绍一下,第一个参数是输出的内容//后面两个整数参数为输出坐标(左上角)g.drawString("label1的文本是:"+label1.getText(),15,100);g.drawString("label2的文本是:"+label2.getText(),60,140);}}二、按钮Button1.创建Button类对象格式:public Button([String str])2.按钮事件:按钮事件必须实现ActionListener接口,例如:public class b implements ActionListenerbtn.addActionListener(this);//按钮加事件监听器然后在事件处理方法actionPerformed中进行编程,例如:public void actionPerformed(ActionEvent e){if(e.getSource()==btn)//或用如下方法//if(e.getActionCommand().equals(“按钮文字”)System.out.println(“我被单击了!”);}【例 14】按钮的示例。
使用 AWT 控件、布局管理器和菜单
![使用 AWT 控件、布局管理器和菜单](https://img.taocdn.com/s3/m/bfeb08c72cc58bd63186bd81.png)
虽然手工定位窗口中的组件是可能的,但做起来十分枯燥。布局管理器会自动完成此 项任务。本章的第一节将介绍各种不同的控件,在这里将用到默认的布局管理器,该管理 器使用从左到右、从上到下的方式来组织容器里的控件。一旦控件被覆盖,布局管理器将 被检查。通过学习你将了解如何更好的管理控件的位置。
第 22 章 使用 AWT 控件、布局管理器和菜单
511
bList[2] = (Button) add(maybe);
// register to receive actiห้องสมุดไป่ตู้n events for(int i = 0; i < 3; i++) {
bList[i].addActionListener(this); } }
22.1 基 本 控 件
AWT支持下列类型的控件:
· 标签 · 下压式按钮 · 复选框 · 选择列表 · 列表框 · 滚动条 · 文本框
这些控件是Component的子类。
22.1.1 增加和删除控件
为了在窗口中包含一个控件,你必须将它加入窗口。实际上,你必须首先生成所需控 件的实例,然后通过调用add()方法将它加入到窗口中,此方法是在Container类中定义的。 Add()方法有几种形式。下面这种形式是本章前面部分所用到的:
public class ButtonDemo extends applet implements ActionListener { String msg = ""; Button yes, no, maybe; public void init() { yes = new Button("Yes"); no = new Button("No"); maybe = new Button("Undecided");
AWT组件类
![AWT组件类](https://img.taocdn.com/s3/m/938b7f32443610661ed9ad51f01dc281e53a5694.png)
AWT组件类AWT(Abstract Window Tookit,抽象窗口工具集),主要包括组件(component)、容器(container)、窗口(Window)、面板(Panel)、框架(Frame)、对话框(Dialog)、标签(Label)、文本行(TextField)、按钮(Buttton),还有事件处理模型、图形和图像工具和布局管理器。
其实AWT里面的这些Frame啊之类的,感觉已经基本不用了,但是,......,还是介绍一下吧......1、组件组件(component)是构成图形用户界面的基本成分和核心元素。
组件抽象类提供组件基本的属性:如,运行时可见、位置、尺寸、字体、颜色等等属性。
也提供对组件操作的通用方法:如,设置组件位置、获得组件位置等。
组件抽象类是一个抽象类,不能实例化,其他的图形用户界面类都继承此类。
Component类声明如下:此声明已在ponent包中,使用时需要import.public abstract class Component implements ImaggeObs erver,MenuContainer,Serializable{public int getWidth();//获得组件的宽度public int getHeight();//获得组件的高度public void setSize(int x,int y);//设置组件的大小,其中x\y 分别是组件的宽度和高度public int getX();//获得组件的x坐标public int getY();//获得组件的y坐标public void setLocation(int x,int y);//设置组件的位置,其中x、y分别为坐标public void setBounds(int x,int y,int width,int height);//设置组件的x、y坐标,宽度和高度public Color getForeground();//获得组件的前景色,即字体颜色public void setForeground(Color color);//设置组件的文本颜色public Color getBackground();//获得组件的背景颜色public void setBackground(Color color);//设置组件的背景颜色public FontgetFont();//获得组件的字体public void setFont(Font font);//设置组件的字体public void setVisible(boolean visible);//设置组件是否可见public void setEnable(boolean enable);//设置组件是否有效}2、举例因为组件类为抽象类,故本例是以标签为例,说明组件类的所有方法在之后的图形用户界面中都可以使用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AWT 容器 --Frame(框架)
A Frame is a top-level window with a title and a border. 通常用于开发桌面应用程序 默认的布局管理器为BorderLayout 构造方法
设置构件为无效,即com.invalidate(); 调用容器的validate方法,即Container.validate();
Java的标准布局管理器
FlowLayout BorderLayout CardLayout GridLayout GridBagLayout null
8.2 AWT的三个主要概念
基本构件(Components):定义了所有的图 形化界面元素及绘制方法。 容器(Containers):可以容纳多个基本组件, 以便统一操作和管理。 布局管理器(Layouts):定义了布置、管理 界面元素的方法。
AWT --基本构件
Java的图形用户界面的最基本组成部分是构件 (Component),构件是一个可以以图形化的方 式显示在屏幕上并能与用户进行交互的对象,例 如一个按钮,一个标签等。构件不能独立地显示 出来,必须将组件放在一定的容器中才可以显示 出来。 类ponent是许多构件类的父 类,Component类中封装了组件通用的方法和属 性,如图形的构件对象、大小、显示位置、前景 色和背景色、边界、可见性等.
布局管理器与容器密切相关:
每个容器都有一个布局管理器 一个布局管理器可以为多个容器进行构件布局
为什么引入布局管理器?
容器把构件布局的工作授权/委托给布局管理器, 使得容器可以更加灵活地选择不同的布局管理器, 从而实现不同的构件布局 减轻容器本身实现的复杂性
类比:
容器 布局管理器 基本构件 股东 经纪人 股票
AWT组件 --Label(文字显示)
Label() Label(String text) Label(String text, int alignment)
setLayout(new FlowLayout(FlowLayout.CENTER, 10, 10)); add(new Label("Hi There!")); add(new Label("Another Label"));
AWT组件 -- TextField(单行文本输入)
TextField() TextField(int columns) TextField(String text) TextField(String text, int columns)
TextField tf1, tf2, tf3, tf4; tf1 = new TextField(); tf2 = new TextField("", 20); tf3 = new TextField("Hello!"); tf4 = new TextField("Hello", 30);
voidsetState(boolean state) boolean getState()
AWT组件 --Choice(选项菜单)
Choice() Creates a new choice menu. void add(String item) void addItem(String item) StringgetItem(int index) intgetItemCount() StringgetSelectedItem() intgetSelectedIndex() voidselect(int pos) Choice Color ColorChooser.add("Green Color"); ColorChooser.add("Red Color"); ColorChooser.add("Blue Color");
Container |- Panel |- ScrollPane |- Window |- Dialog |- FileDialog |- Frame
8.4 AWT组件 --Button
构造方法: Button():Constructs a Button with no label. Button(String label): Constructs a Button with the specified label. 主要方法: void addActionListener(ActionListener l) String getLabel(): Gets the label of this button. void setLabel(String label) :Sets the button's label to be the specified string.
AWT
8.1 什么是AWT?
AWT(Abstract Windowing Toolkit) :抽象 窗口工具包,是Java提供的用来建立和设 置Java的图形用户界面的基本工具。 AWT由Java中的java.awt包提供,包含了 用来建立与平台无关的图形用户界面(GUI) 的类,这些类被称为构件Components。 AWT是Java程序提供图形用户界面(GUI)的 标准API之一。
Frame() Frame(String strCaptionText)
AWT 容器 --Dialog
显示提示信息或提示用户输入信息的弹出式窗口 与Frame的主要区别:
没有菜单 依赖其Parent窗口,当其Parent窗口缩小时,Dialog窗口 消失;当其Parent窗口恢复时,Dialog窗口也自动恢复 有模式/非模式两种工作方式
标准布局管理器 --FlowLayout
从左到右,从上到下的方式依次排列构件 FlowLayout(对齐方式,水平间距,垂直间距) 例如:new FlowLayout(2,10,5): 表示:右对齐;水平间距10;垂直间距5
—————————————
* 认识“委托/授权“的思想
构件的首选尺寸
构件有三种尺寸:
PreferredSize:最佳 MaximumSize:最大 MinimumSize:最小
———————————— *很多布局管理器忽略构件的首选尺寸
强制容器布置构件
构件的大小一般不会自动调整,为了调整 到最佳尺寸,一般需要强制容器重新布置 构件 容器Container内重新布置构件com方法:
AWT组件 --Checkbox(复选框)
Checkbox() Checkbox(String label) Checkbox(String label, boolean state) Checkbox(String label, boolean state, CheckboxGroup group) Checkbox(String label, CheckboxGroup group, boolean state)
AWT糟糕的设计选择使得Java:
一次编写,到处运行 一次编写,到处测试 write once, run anywhere write once, test everywhere”
导致这种糟糕局面的一个可能原因据说是 AWT从概念产生到完成实现只用了一个月 的时间。 改进办法: 推出新的图形工具Swing
AWT --容器
容器(Container)也是一个类,实际上是Component的子类, 因此容器本身也是一个组件,具有组件的所有性质,但是 它的主要功能是容纳其它组件和容器。 所有的容器都可以通过add()方法向容器中添加组件。 常用容器:
Window 窗口,没有菜单和边界 Panel 面板,简单容器。 Applet 最常用的容器,不能有菜单条。 Frame 框架,可以有菜单条。 Dialog 对话框,可模式化或非模式化。 FileDialog 用于选择文件的对话框。 ScrollPane 滚动容器
8.5 AWT 容器
容器是构件,是可以包含其它构件的构件 容器的特征:
有一定的范围,一般为矩形 容器具有一定的位置特征 可以有背景,也可以透明 容器中可以包含其它基本构件 容器可以包含容器
AWT 容器类层次结构
AWT各种容器之间的关系
Container |- Panel |- Window |- Dialog | |- FileDialog |- Frame
构造方法:
Dialog(Dialog owner, String title) Dialog(Frame owner, boolean modal) Dialog(Dialog owner, String title, boolean modal)
8.6 布局管理器
布局管理器的作用:
确定构件的位置和大小,并在容器内布置构件 实现显示界面与平台无关
AWT --布局管理器
布局管理器(LayoutManager):每个容器 都有一个布局管理器,当容器需要对某个 组件进行定位或判断其大小尺寸时,就会 调用其对应的布局管理器。
8.3 ponent及其子类
Component |- Button |- Canvas |- Checkbox |- Choice |- Container |- Label |-List |-Scrollbar |-TextComponent |-TextArea |-TextField
AWT 容器 --Window(窗口)
是Frame和Dialog的父类 A Window object is a top-level window with no borders and no menubar. The default layout for a window is BorderLayout. A window must have either a frame, dialog, or another window defined as its owner when it's constructed. 构造函数: