- 1、本文档共84页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7图形用户界面的设计与实现(第11章).ppt
第11章 图形用户界面的设计与实现 首先,我们学习一些基本的图形编程知识,包括窗口的显示及外观设置、在窗口中显示文字和图像等; 接下来,系统地介绍图形用户界面中常用组件的用法,如布局管理器、文本框、复选框、菜单、对话框等。 最后,介绍Java的事件处理机制,例如如何在程序中接收并处理如键盘按键和鼠标点击等“事件”; 主要内容 框架的组成及外观 在框架中显示文本和图形 字体和颜色的设置 Java的事件处理机制 窗口事件、焦点事件、键盘事件、鼠标事件的处理 Swing各种组件的用法 11.1 图形用户界面概述 Java1.0的出现带来了抽象窗口工具箱(AWT)。设计目标是希望构建一个通用的GUI,使得利用它编写的程序能够运行在所有的平台上,以实现Sun公司提出的口号“一次编写,随处运行”。 在Java1.2中,Sun公司推出了新的用户界面库:Swing。相对AWT来说,Swing功能更强大、使用更方便,它的出现使得Java的图形用户界面上了一个台阶。 但是,Swing并没有代替AWT。在Java1.1中,AWT事件处理模型有了根本改变。Swing使用的仍然是Java1.1的事件处理模型。 java.AWT.*javax.Swing.* AWT适用于简单的GUI程序 Swing适用于复杂的GUI程序 AWT容易发生平台特定故障 Swing的大多数组件都是直接用JAVA代码编写,更少依赖于目标机器的平台。 Swing被称为轻型组件(Lighweight Compoent),AWT组件被称为重型组件(Heavyweight Compoent) Java的图形用户界面(GUI)由 组件(component):通常为图形用户界面中的可见部分,例如按钮(button)和标签(label)等。 容器(container):是图形用户界面中容纳其他组件的部分,一个容器中可容纳一个或多个组件,甚至还可以容纳其他容器。 构成。 Frame(JFrame)//是Window类的子类,它是一种带标题框并且可以改变大小的窗口 Panel(JPanel)//与框架类似,也是一种容器,可以容纳其他GUI组件。不可见的容器 11.2 简单图形用户界面 11.2.1 第一个图形用户界面 例:使用AWT中的FrameMyFirstFrame.java import java.awt.*; public class MyFirstFrame extends Frame{ public static void main(String args[]){ MyFirstFrame fr = new MyFirstFrame(HelloOutThere !); fr.setSize(400,200); fr.setBackground(Color.blue); fr.setVisible(true); } public MyFirstFrame (String str){ super(str); } } Applet作为用户界面 import java.awt.*; import java.applet.*; class Circlex extends Canvas{ //Canvas 组件表示屏幕的一块空白矩形 区,应用可在其上进行绘 制,或在此处捕获用户的输入事件。 public void paint (Graphics g){ g.setColor(Color.red); g.drawOval(5,0,100,100); g.setColor(Color.blue); g.drawString(画个圆:,15,50); } } public class Canable extends Applet { public void init(){ Circlex c= new Circlex(); add(c); c.setSize(110,110); } } 11.2.2 框架外观 //FrameSizeSet.java import java.awt.*; import javax.swing.*; public class FrameSizeSet { public static void main(String[] args) { FrameSize frame = new FrameSize(); //frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame
文档评论(0)