大学教程(从零开始)图形界面设计

上传人:飞****9 文档编号:132272688 上传时间:2020-05-14 格式:PPT 页数:53 大小:572KB
返回 下载 相关 举报
大学教程(从零开始)图形界面设计_第1页
第1页 / 共53页
大学教程(从零开始)图形界面设计_第2页
第2页 / 共53页
大学教程(从零开始)图形界面设计_第3页
第3页 / 共53页
大学教程(从零开始)图形界面设计_第4页
第4页 / 共53页
大学教程(从零开始)图形界面设计_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《大学教程(从零开始)图形界面设计》由会员分享,可在线阅读,更多相关《大学教程(从零开始)图形界面设计(53页珍藏版)》请在金锄头文库上搜索。

1、第5章图形界面设计 一 本部分重点内容框架窗口 标签 按钮和按钮事件面板和滚动面板 布局设计 文本框事件的处理方法利用文本框和文本区域作数据输入输出的方法 1 java awt包Java语言在java awt包中提供了大量地进行GUI设计所使用的类和接口 包括绘制图形 设置字体和颜色 控制组件 处理事件等内容 AWT是Java语言进行GUI程序设计的基础 2 javax swing包Swing包是Java基础类库 JavaFoundationClasses JFC 的一部分 Swing提供了从按钮到可分拆面板和表格的所有组件 Swing组件是Java语言提供的第二代GUI设计工具包 它以AWT

2、为基础 在AWT内容的基础上新增或改进了一些GUI组件 使得GUI程序功能更强大 设计更容易 更方便 Swing 是开发新组件的项目代码名 现在 这个名字常用来引用新组件和相关的API AWT组件和对应的Swing组件 从名称上很容易记忆和区别 例如 AWT的框架类 面板类 按钮类和菜单类 被命名为Frame Panel Button和Menu 而Swing对应的组件类被命名为JFrame JPanel JButton和JMenu 与AWT组件相比 Swing组件的名前多一个 J 字母 另外 AWT组件在java awt包中 而Swing组件在javax swing包中 AWT概述 创建GUI

3、 通过 java awt包 容器 组件 布局管理器 字体 事件 图形和绘制方法 包含AWT容器组件 以图形表示的对象允许用户交互 创建并构造用于选择新字体的对象 用于用户和系统交互 AWT包含内容 使用AWT图形方法相对于窗口绘制图形 定义GUI组件的位置 AWT 重量级组件 Swing 创建GUI 通过 Javax swing包 Swing包含内容 Swing 轻量级组件 纯Java组件 javax swing包 常见容器 JFrame JScrollPane JPanel 1 扩展java awt Frame类2 用于在Swing程序中创建窗口3 包含边框 标题和用于关闭和图标化窗口的按钮

4、 1 中间容器2 用于将较小的轻量级组件组合在一起3 与内容窗格相似 面板在默认情况下不透明 管理视区 滚动条及可选的行和列的标题视区 Swing容器组件 SwingGUI组件 JTexField JComboBox JCheckBox JButton JRadioButton JLabel JTexArea 5 2框架窗口JFrame框架框架 是JFrame类的对象 是swingGUI应用程序的主窗口 窗口有边界 标题 关闭按钮等 对Java应用程序 应至少包含一个框架 有时 小程序也使用框架 JFrame类继承于Frame类 JFrame类的构造方法如下 JFrame 创建无标题的初始不可

5、见框架 JFrame Stringtitle 创建标题为title的初始不可见框架 例如 创建带标题 JavaGUI应用程序 的框架对象frame 可用语句 JFrameframe newJFrame JavaGUI应用程序 要显示框架对象代表的框架窗口 可使用方法setVisible 可用语句 frame setVisible true 可使得JFrame类对象frame表示的框架窗口显示到屏幕上 一般在显示框架前 可设置框架的初始显示大小可使用setSize 方法或pack 方法 例如 frame setSize 200 150 设置框架窗口初始大小为200 150点frame pack

6、设置框架窗口初始大小为刚好只显示出所有的组件 其他常用方法 setBounds intx inty intwidth intheight setBackground Colorc setTitle Stringname getTitle setResizable booleanm 见程序TestJFrame java 在向框架添加组件时 并不直接添加组件到框架 而是添加到内容窗格 contentpane 改变其他特性 布局管理器 背景色等 也对内容窗格进行 要存取内容窗格 可通过getContentPane 方法 若希望用自己的容器替换掉内容窗格 例如用JPanel 可以使用setConten

7、tPane 方法 选择框架的关闭按钮后 框架窗口将自动关闭 但若是应用单个框架的应用程序 为了在选择框架的关闭按钮时能退出程序 应添加WindowListener监听器或书写下列代码 frame setDefaultCloseOperation JFrame EXIT ON CLOSE 5 3标签 按钮和按钮事件5 3 1标签 JLabel 标签是用户不能修改只能查看其内容的组件 常用来在界面上输出信息 JLabel类的构造方法有 JLabel 创建一个空标签 JLabel Iconimage 创建一个带指定图像的标签 JLabel Iconimage inthorizontalAlignme

8、nt 创建一个带指定图像和水平对齐方式的标签 JLabel Stringtext 创建一个带文字的标签 JLabel Stringtext Iconicon inthorizontalAlignment 创建一个带文字 图像和指定水平对齐方式的标签 JLabel Stringtext inthorizontalAlignment 创建一个带文字和指定水平对齐方式的标签 其中 horizontalAlignment水平对齐方式可以使用表示左对齐 右对齐 居中对齐的常量JLabel LEFT JLabel LEFT和JLabel CENTER JLabel类常用方法有 publicvoidsetT

9、ext Stringtext 定义这个组件将显示的单行文字 publicStringgetText 返回标签显示的文字 publicIcongetIcon 返回标签显示的图像 publicvoidsetIcon Iconicon 定义这个组件将显示的图标 5 3 2按钮 JButton 按钮是GUI中非常重要的一种基本组件 按钮一般对应一个事先定义好的事件 执行功能 一段程序 当使用者单击按钮时 系统自动执行与该按钮联系的程序 从而完成预定的功能 JButton类有如下的构造方法 JButton 创建空按钮 JButton Iconicon 创建带图标的按钮 JButton Stringtex

10、t 创建带文字的按钮 JButton Stringtext Iconicon 创建带文字和图标的按钮 JButton组件与AWT的Button组件相比 增加了显示文本中可用HTML标记 可带图标等功能 在JButton按钮的使用中 常用到继承来的setMnemonic 设置快捷字母键 setActionCommand 设置动作命令 方法等 JButton组件引发的事件为ActionEvent 可实现ActionListener监听器接口的actionPerformed 方法 用addActionListener 方法注册 用getActionCommand 或getSource 方法确定事件源

11、 例 设计一个GUI应用程序 有两个标签l1 l2和三个按钮b1 b2 b3 l1标签显示固定的文字 l2标签的文字随选择不同的按钮而变化 选择b1按钮时 l2标签显示为 欢迎进入Java世界 选择b2按钮时 l2标签显示当前的日期 选择b3按钮时 退出该应用程序 程序如下 importjava awt importjava awt event importjavax swing importjava util publicclassJButtonDemoextendsJpanelimplementsActionListener JButtonb1 b2 b3 staticJLabell1 l

12、2 JButtonDemo l1 newJLabel 这是一个演示按钮动作的程序 JLabel CENTER l2 newJLabel JLabel CENTER b1 newJButton 欢迎 w b1 setMnemonic KeyEvent VK W 设置按钮的快捷键b1 setActionCommand welcome b2 newJButton 日期 d b2 setMnemonic KeyEvent VK D 设置快捷字符为Db2 setActionCommand date b3 newJButton 退出 q b3 setMnemonic KeyEvent VK Q 设置快捷字

13、符为Qb3 setActionCommand quit b1 addActionListener this b2 addActionListener this b3 addActionListener this publicstaticvoidmain Stringargs JFrameframe newJFrame 使用JButton frame getContentPane add newJButtonDemo BorderLayout SOUTH frame getContentPane add l1 BorderLayout NORTH frame getContentPane add

14、 l2 BorderLayout CENTER frame setDefaultCloseOperation JFrame EXIT ON CLOSE frame pack frame setVisible true 本程序中命令按钮设置了快捷字母键 可用鼠标单击或按Alt 快捷字母来选择按钮 例题运行启动后选择 欢迎 按钮和选择 日期 按钮后显示的情况见下左图和下右图 5 4 JPanel面板JPanel是一种添加到其他容器使用的容器组件 可将组件添加到JPanel 然后再将JPanel添加到某个容器 JPanel也提供一个绘画区域 可代替AWT的画布Canvas 没有JCanvas 其构造

15、方法有 publicJPanel 创建具有缺省FlowLayout布局的JPanel对象 publicJPanel LayoutManagerlayout 创建具有指定布局管理器的JPanel对象 将JPanel作为画布的绘画区域使用时 要使用下面的两个步骤 首先 设置画布绘图区域的大小 其次 使用paintComponent 方法 不是paint 方法 来绘图 在该方法体中 首先调用方法super paintComponent 来清除显示区域 常用方法 add 组件 add 字符串 组件 例 使用JPanel importjava awt importjavax swing classJPa

16、nelDemoextendsJPanel JButtonb1 newJButton JPanel JButtonb2 newJButton Demo publicJPanelDemo setBackground Color white add b1 add b2 publicstaticvoidmain String args JPaneljp newJPanelDemo JFrameframe newJFrame JPanelDemo frame setSize 200 150 frame setContentPane jp frame setDefaultCloseOperation JFrame EXIT ON CLOSE frame setVisible true 5 5布局管理器 在容器中所有组件的布局 位置和大小 由布局管理器来控制 在Java语言中提供了FlowLayout BorderLayout GridLayout CardLayout和GridBagLayout等多种布局管理器 每种容器都有自己缺省的布局管理器 缺省地 JPanel使用FlowLayout 而内容

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号