[工学]Jaa 学习06.pptVIP

  • 2
  • 0
  • 约1.22万字
  • 约 82页
  • 2018-02-27 发布于浙江
  • 举报
[工学]Jaa 学习06

Chapter 5 Java的图形用户界面 主要内容: 创建窗体,使用组件 设计界面,管理布局 绘制图形 事件编程等 重点掌握图形用户界面应用程序的设计方法和编程技巧。 GUI 图形用户界面(GUI) 使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的向计算机系统发出命令,并将系统运的结果以图形的方式显示给用户。 GUI设计 设计包括良好的业务逻辑和表现层。 用户界面设计的一般性原则包括:用户熟悉、一致性、意外最小化、可恢复性、用户指南、用户差异性等。 现在计算机用户认可的图形用户界面主要特征,主要集中在窗口、图标、菜单、指点、图形等方面。 Java与GUI java.awt包 称为抽象窗口工具集AWT(Abstract Window Toolkit),是使用Java进行GUI设计的基础 javax.swing包 Swing组件存放在javax.swing包中。几乎所有AWT组件对应有新功能更强的Swing组件。另外还加入了一些全新的组件。Swing组件在名称上前面多了一个字母“J” 。 考察GUI的构成 图形界面的各成分和元素 容器,控制组件等 各成分和元素间的外观联系 布局管理 各元素对不同事件的响应 事件处理机制 容器与控制组件 容器(Container):一系列相关组件的集合,是用于组织界面成分和元素的单元。它是一种比较特殊的组件,可以包含其他组件。 例如:Window、Frame…… 控制组件:用于完成与用户的交互,是GUI的最小单元之一,里面不再包含其他的成分。 例如:Button、CheckBox、TextField…… AWT组件与Swing组件 重量级组件 代码依赖于底层操作系统,并且存在一个对等组件做对应,将事件传递给对等组件处理。 轻量级组件 没有本地代码,不依赖操作系统的支持。 AWT组件被称为是重量级的 Swing组件经常被描述为轻量级的,因为其中大部分不需要操作系统本身所带窗口工具包的原生资源来生成 。 attention Swing中通常含有和AWT中相对应的组件,区别是在其名称前加“J”, 如:Button-JButton 在Swing中,JFrame , JDialog , JWindow , JApplet这四个组件被称为重量级组件,它们必须使用到本地代码来显示窗口画面。 上述4个组件在Swing中被称为“最上层组件”,或者“顶层容器”,或“根面板”(JRootPane) AWT vs. Swing Swing组件都是AWT的Container类的直接子类和间接子类。 AWT是Swing的基础,但是Swing组件纯java编写,属轻量级组件,具有一些AWT不可比拟的优势。 Swing容器树结构 Swing容器中加入组件 不能直接加入到JRootPane,必须加在JLayeredPane或是它的contentPane上。 例如:加载组件到JFrame中 JFrame frame = new JFrame(); Container container = frame.getContentPane(); JButton button = new JButton(); JLabel label = new JLabel(); container.add(label); Container.add(button); 说明 getContentPane()语法格式如下: Public Container getContentPane() 该方法返回当前窗体的内容面板对象,这是窗体的工作区,所有的组件出了JMenuBar之外都要放到这个面板容器中。 小程序:窗体加按钮 程序示例: 结果: 在上述基础上再添加一个按钮 程序示例: 结果: 布局设计 Java中布局控制是通过为容器设置布局管理器来实现的。 没设置布局管理器的容器,其中的组件会相互覆盖、遮挡,影响使用。 每个布局管理器对应一种布局策略。 布局管理器 Java中的布局类型包括以下: FlowLayout(流式布局) BorderLayout (边界布局) GridLayout(网格布局) BoxLayout(盒式布局) CardLayout (卡片布局) GridBagLayout(网格包布局) FlowLayout布局管理器 FlowLayout的构造函数有: FlowLayout( ):生成一个默认的流式布局 FlowLayout(int alignment):可以设定每一行组件的对齐方式 FlowLayout(int alignment,int horz,int

文档评论(0)

1亿VIP精品文档

相关文档