java程序设计-8-用户界面开发.ppt

上传人:bao****ty 文档编号:132885503 上传时间:2020-05-21 格式:PPT 页数:64 大小:1.16MB
返回 下载 相关 举报
java程序设计-8-用户界面开发.ppt_第1页
第1页 / 共64页
java程序设计-8-用户界面开发.ppt_第2页
第2页 / 共64页
java程序设计-8-用户界面开发.ppt_第3页
第3页 / 共64页
java程序设计-8-用户界面开发.ppt_第4页
第4页 / 共64页
java程序设计-8-用户界面开发.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《java程序设计-8-用户界面开发.ppt》由会员分享,可在线阅读,更多相关《java程序设计-8-用户界面开发.ppt(64页珍藏版)》请在金锄头文库上搜索。

1、Java程序设计 第8章用户界面开发 学习目标 利用JFrame创建可定制的应用程序主窗口理解组件和容器的差异 区别顶级容器和中间容器的作用能够灵活应用布局管理器组织界面如何向容器中添加和布局组件理解事件机制 掌握各类监听器的创建 注册和处理掌握基本的图形处理程序开发 8 1 1从AWT到Swing 抽象窗口工具包AWT AbstractWindowToolkit 是Java类库程序提供的建立图形用户界面GUI GraphicsUserInterface 工具集 Swing类提供了GUI编程较为通用的部分 被统称为JavaFoundationClasses Java语言基础类 简称JFC Sw

2、ing采用了一种MVC的设计范式 即 模型 视图 控制 Model View Controller 其中模型用来保存内容 视图用来显示内容 控制器用来控制用户输入 8 1 2模型 视图 控制体系 Swing胜过AWT的主要优势在于MVC体系结构的普遍使用 在一个MVC用户界面中 存在三个相互通信的对象 模型 视图和控件 模型是指定的逻辑表示法视图是模型的可视化表示法控件则指定了如何处理用户输入 当模型发生改变时 它会通知所有依赖它的视图 视图使用控件指定其响应机制 8 1 3创建第一个Swing窗口 publicclassFirstSwingApp publicstaticvoidmain S

3、tring args 创建一个顶层容器并设置其标题为FirstSwingApp JFrameframe newJFrame FirstSwingApp frame add newJButton OK 向窗口中增加一个按钮 设置窗口中右上角的关闭按钮图标的缺省操作事件是关闭程序frame setDefaultCloseOperation JFrame EXIT ON CLOSE frame setSize 600 400 设置窗口对象的尺寸 让窗口对象自行决定以最合适的方式显示窗口 并不依赖前面的定义尺寸frame pack frame setVisible true 最后 让窗口对象可见 JF

4、rame的继承层次 8 2容器和基本组件 组件 Component 代表一种可以显示在屏幕上的图形元素 也是一种能与用户进行交互的Java对象 例如一个按钮 一个标签等 组件不能独立地显示出来 必须将组件放在一定的容器中才可以显示出来 容器 Container 容器类继承于Component类 其本身及其子类可以容纳其他组件对象 Swing应用程序的容器层次 设计GUI时 都有用于放置可视化组件的主窗口 Container对象可用于将组件组合在一起 容器中的组件根据特定布局排列 Swing中的容器有两类 顶级容器 中间容器 顶级容器 JFrame 用于框架窗口的类 此窗口带有边框 标题 用于关

5、闭和最小化窗口的图标等 带GUI的应用程序通常至少使用一个框架窗口 JDialog 用于对话框的类 JApplet 用于使用Swing组件的JavaApplet的类 中间容器 JPanel 最灵活 最常用的中间容器 JScrollPane 与JPanel类似 但还可在大的组件或可扩展组件周围提供滚动条 JTabbedPane 包含多个组件 但一次只显示一个组件 用户可在组件之间方便地切换 JToolBar 按行或列排列一组组件 通常是按钮 Swing类结构图 Swing有很多组件 这些组件从功能上分为以下几类 顶层容器 JFrame JApplet JDialog JWindow共4个 中间容

6、器 JPanel Box JScrollPane JSplitPane JToolBar 特殊容器 在GUI上起特殊作用的中间层 如JInternalFrame JLayeredPane JRootPane 基本控件 实现人机交互的组件 如JButton JComboBox JList JMenu JSlider JTextField等 不可编辑信息的显示 向用户显示不可编辑信息的组件 例如JLabel JProgressBar JToolTip等 可编辑信息的显示 向用户显示能被编辑的格式化信息的组件 如JColorChooser JFileChoose JFileChooser JTabl

7、e JTextArea等 8 2 1设计主窗口 可以作为容器的类很多 但是能够作为顶级容器控制整个界面的只有JFrame等四个 而这4个顶级容器中 JApplet类主要开发用于在浏览器中的applet小程序JWindow它没有标题栏 窗口管理按钮或者其他与JFrame关联的修饰 并不适合做主窗口JFrame对象是用来代表应用程序的主窗口的最佳选择JDialog通常需要一个JFrame对象来构造 8 1 3创建第一个Swing窗口 importjavax swing JFrame publicclassMyFirstSwingAppextendsJFrame publicMyFirstSwing

8、App Stringtitle intwidth intheight super title 调用父类构造方法 同时设置窗口标题 设置窗口的显示尺寸this setSize width height 设置窗口的关闭动作为关闭整个程序this setDefaultCloseOperation JFrame EXIT ON CLOSE 一般在构造方法中组织自己的主界面显示 SwingGUI框架 你好 世界 菜单栏 顶级容器 GUI组件 GUI组件 内容窗格 8 2 2添加组件到窗口 JFrame对象的getContentPane 方法返回一个对contentPane的引用 JFrame JFram

9、e组件用于在Swing程序中创建窗体 是放置其他Swing组件的顶级容器 它的构造函数 JFrame JFrame StringTitle 缺省的布局管理器是BoderLayout添加组件到内容窗格 两种方法 示例 frame getContentPane add newJButton button frame add newJButton button JFrame包含一个JRootPane作为其惟一的子容器 用来管理其所有内容 包括 内容窗格菜单分层窗格玻璃窗格大部分情况下 我们只使用内容窗格 关闭FramesetDefaultCloseOperation intoperation 设置用

10、户在此窗体上发起 close 时默认执行的操作 必须指定以下选项之一 DO NOTHING ON CLOSE 在WindowConstants中定义 不执行任何操作 要求程序在已注册的WindowListener对象的windowClosing方法中处理该操作 HIDE ON CLOSE 在WindowConstants中定义 调用任意已注册的WindowListener对象后自动隐藏该窗体 DISPOSE ON CLOSE 在WindowConstants中定义 调用任意已注册WindowListener的对象后自动隐藏并释放该窗体 EXIT ON CLOSE 在JFrame中定义 使用Sy

11、stemexit方法退出应用程序 仅在应用程序中使用 默认情况下 该值被设置为HIDE ON CLOSE 常用的JFrame方法voidadd Componentc voidsetJMenuBar JMenuBarMenu voidpack voidremove Componentc voidsetIconImage Iconimage voidsetLayout LayoutManagerlayout voidsetSize intwidth intheight 8 2 3组件的基本功能 颜色设置可以使用setBackground 方法和setForeground 来设置组件的背景色和前景色

12、 btnOK setBackground Color BLUE 边框设置使用setBorder 方法可以设置组件外围的边框 btnOK setBorder BorderFactory createLineBorder Color RED 双缓冲区使用双缓冲技术能改进频繁变化的组件的显示效果 如果想关闭双缓冲区 可以在组件上施加setDoubleBuffered false 方法 提示信息 使用setTooltipText 方法 为组件设置对用户有帮助的提示信息 btnOK setToolTipText Hi 这是一个按钮 键盘导航 用setMnemonic 方法指定一个字符 通过这个字符和一个

13、当前L F LookandFeel 观感 的无鼠标修饰符 通常是Alt 共同激活按钮动作 btnOK setMnemonic KeyEvent VK O 可插入L F 每个JComponent对象有一个相应的ComponentUI对象 为它完成所有的绘画 事件处理 决定尺寸大小等工作 ComponentUI对象依赖当前使用的L F 用UIManager setLookAndFeel 方法可以设置需要的L F 支持布局 通过设置组件最大 最小 推荐尺寸的方法和设置X Y对齐参数值的方法能指定布局管理器的约束条件 为布局提供支持 8 2 4按钮JButton JButton类允许用图标 字符串或两

14、者同时构造一个按钮 JButton 创建不带有设置文本或图标的按钮 JButton Iconicon 创建一个带图标的按钮 JButton Stringtext 创建一个带文本的按钮 JButton Stringtext Iconicon 创建一个带初始文本和图标的按钮 ImageIconbuttonIcon newImageIcon on gif JButtonbtnLogin newJButton 登陆 L buttonIcon btnLogin setMnemonic KeyEvent VK L 8 2 5标签JLabel JLabel对象可以显示文本 图像或同时显示二者 JLabelJ

15、Label IconimageJLabel Iconimage inthorizontalAlignment JLabel Stringtext JLabel Stringtext Iconicon inthorizontalAlignment JLabel Stringtext inthorizontalAlignment a ImageIconicon newImageIcon on gif JLabellblUser newJLabel 用户名 icon SwingConstants LEFT SwingConstants中定义的以下常量 LEFT CENTER RIGHT LEADIN

16、G或TRAILING 定义了组件的对齐方式 8 2 6文本组件 单行文本输入框JTextField JTextField JTextField Documentdoc Stringtext intcolumns JTextField intcolumns JTextField Stringtext JTextField Stringtext intcolumns 其他主要方法 publicStringgetText 获取组件包含的文本publicStringgetText intoffs intlen 获取组件包含的文本部分 有偏移量和长度决定 publicStringgetSelectedText 返回此TextComponent中包含的选定文本 多行纯文本编辑框JTextArea JTextArea JTextArea introws intcolumns JTextArea Stringtext JTextArea Stringtext introws intcolumns 密码输入框JPasswordField JPasswordField JPasswordField int

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

当前位置:首页 > 高等教育 > 大学课件

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