教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

3ATW Swing 事件处理(5)

来源:网络收集 时间:2026-08-26
导读: 1 Swing 程序结构简介 Swing 的程序设计一般可按照以下流程进行。 (1)通过import 引入swing 包。 (2)设置GUI 的“外观界面风格”。 (3)创建顶层容器。 (4)创建按钮和标签等组件。 (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字,全部文档内容请下载后查看。喜欢就下载吧 ……
3ATW Swing 事件处理(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/435434.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)