3ATW Swing 事件处理(5)
1 Swing 程序结构简介
Swing 的程序设计一般可按照以下流程进行。 (1)通过import 引入swing 包。 (2)设置GUI 的“外观界面风格”。 (3)创建顶层容器。 (4)创建按钮和标签等组件。 (5)将组件添加到顶层容器。 (6)在组件周围添加边界。 (7)进行事件处理。
2 组件的分类
Jcomponent 是一个抽象类,主要用于定义所有子类的通用方法。Jcomponent 类派生于Container 类。并不是Swing 的所有组件都继承了JComponent 类,凡是派生于Container 类的组件都可以作为容器使用。Swing 组件从功能上可分为顶层容器、 中间容器、特殊容器、基本控件、信息显示组件和编辑信息组件。 ", 顶层容器:Jframe、Japplet、Jdialog、JWindow。 ", 中间容器:Jpanel、JscrollPane、JsplitPane、JToolBar。
", 特殊容器:GUI 中特殊作用的中间层,例如JinternalFrame、JlayeredPane、 JRootPane。
", 基本控件:人机交互的基本组件,例如Jbutton、JcomboBox、Jlist、Jmenu、Jslider、
JtextField。
", 信息显示组件:组件仅仅为显示信息,但不能编辑,例如Jlabel、JprogressBar、 ToolTip。
", 编辑信息组件:向用户显示可被编辑信息的组件,例如JcolorChooser、JfileChoose、 JfileChooser、Jtable、JtextArea。
另外,JComponent 类的一些特殊功能包括边框设置、双缓冲区、提示信息、键盘导航和支持布局。
", 边框设置:使用setBorder()方法设置组件外围边框,如果不设置边框就会为组件 的外围留出空白。
", 双缓冲区:为了改善组件的显示效果,采用双缓冲技术。JComponent 组件默认 是双缓冲的,不必要自己写代码,可以通过setDoubleBuffered(false)关 闭双缓冲区。
", 提示信息:setTooltipText()方法可为组件设置提示信息,为用户提供帮助。 ", 键盘导航:registerKeyboardAction()方法可以实现键盘代替鼠标操作。
", 支持布局:用户可以设置组件最大、最小和设置对齐参数值等方法,指定布局管 理器的约束条件。
3 使用Swing 的基本规则
与 AWT 组件不同,Swing 不能直接在顶层容器中添加组件。Swing 组件必须添加到与顶层容器相关的内容面板上,内容面板是一个普通的轻量级组件,还要避免使
用非Swing 轻量级组件。在顶层容器JFrame 对象中添加组件有以下两种方式。 (1)用getContentPane()方法获得容器的内容面板,直接添加组件,格式如下。 Container c = frame.getContentPane(); //获取窗口内容面板 JPanel pane = new JPanel(); //创建面板 c.add(pane); //在容器中添加面板
(2)建立一个中间容器对象(Jpanel 或JdesktopPane),将组件添加到中间容器对象内, 然后通过setContentPane()方法将该容器设置为顶层容器frame 的内容面板。 JPanel pane = new JPanel(); //创建面板对象 pane.add(new JButton(\给面板添加按钮
frame. setContentPane(pane); //将面板pane 设置为窗口内容面板
4 轻量容器
JFrame 的内部轻量容器构成结构为:最底层是根面板JRootPane,上一层是玻璃面板glassPane(一个JPanel 对象)和分层面板layeredPane(一个JLayeredPane 对象),而分层面板layeredPane 又由内容面板contentPane(一个JPanel)和菜单条menuBar(JMenuBar)构成。用户添加组件都是在内容面板上,背景图片只能添加到分层面板。玻璃面板是完全透明的,缺省值为不可见,覆盖了内容面板是为了接受鼠标事件和组件绘图功能提供方便。 1根面板
根面板(JRootPane)是由内容面板、菜单条和玻璃面板组成,它可以获得和设置相关面板。
java.lang.Object +--java.awt.Component +--java.awt.Container +--javax.swing.JComponent +--javax.swing.JRootPane 根面板提供的方法有以下几种。
", Container getContentPane():获得内容面板。 ", void setContentPane(Container):设置内容面板。 ", JMenuBar getMenuBar():获得活动菜单条。 ", void setMenuBar(JMenuBar):设置菜单条。 ", JLayeredPane getLayeredPane():获得分层面板。 ", void setLayeredPane(JLayeredPane):设置分层面板。 ", Component getGlassPane():获得玻璃面板。 ", void setGlassPane(Component):设置玻璃面板。 2 面板
面板(JPanel)是轻量容器,其用法与Panel 基本相同,用于容纳其他组件。JscrollPane、JsplitPane 和JInternalFrame 都属于常用的中间容器。面板的默认布局管理器是顺序布局管理器(FlowLayout)。 java.lang.Object +--java.awt.Component +--java.awt.Container
+--javax.swing.JComponent +--javax.swing.JPanel 3 分层面板
Swing 有两种类型的分层面板: JLayeredPane 和JDesktopPane 。JDesktopPane 是 JLayeredPane 的派生类,用于创建多文档和虚拟桌面程序的容器。用户可以创建内部框架(JInternalFrame)对象并将其添加到JDesktopPane。它们的继承关系如下。 java.lang.Object +--java.awt.Component +--java.awt.Container +--javax.swing.JComponent +--javax.swing.JLayeredPane +--javax.swing.JDesktopPane 4 滚动窗口
滚动窗口(JScrollPane)是管理视口(JViewport)、可选水平或垂直滚动条的轻量级容器。滚动窗口基本上是由JScrollBar、一个JViewport 之间的连接组成。Jviewport 是用于查看底层组件的一个工具,滚动条沿着组件的水平或者垂直方法移动视口,同时显示组件上的内容。JScrollPane 继承关系如下。 java.lang.Object +--java.awt.Component +--java.awt.Container +--javax.swing.JComponent
…… 此处隐藏:1335字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




