
Swing是一个用于开发Java应用顺序用户界面的开发工具包(GUI工具包),是JAVA基本类的一部分;它包括了图形用户界面(GUI)器件,如:文本框,按钮,分开窗格和表。
Swing供应很多比AWT更好的屏幕显现元素。它们用纯Java写成,所以同Java自身一样能够跨平台运转,这一点不像AWT。它们是JFC的一部分。它们支撑可替换的面板和主题(种种操作系统默许的特有主题),但是不是真的运用原生平台供应的装备,而是仅仅在表面上模拟它们。这意味着你能够在恣意平台上运用JAVA支撑的恣意面板。轻量级组件的瑕玷则是实行速率较慢,长处就是能够在统统平台上采纳一致的行动。
Swing 类库构造
Swing 组件都采纳 MVC(Model-View-Controller,即模子-视图-控制器)的设想,完成 GUI 组件的显现逻辑和数据逻辑的星散,从而许可顺序员自定义 Render 来转变 GUI 组件的显现表面,以供应更多的天真性。
Swing 缭绕 JComponent 组件构建,JComponent 则由 AWT 的容器类扩大而来。
Swing类库构造构造图:
能够看出,Swing 组件除了 AbstmctButton 类以外都以 J 开头。Swing 容器组件直接继续 AWT 类库中的容器组件类,其他大部分组件都是继续 JComponet 组件。组件能够划分为容器组件和非容器组件,容器组件包括 JFmme 和 JDialog。个中 JComponent 定义了非容器类的轻量级组件(JBntton、JPanel、JMenu 等)。
Swing 包
Swing 类库由很多包构成,经由过程这些包中的类相互协作来完成 GUI 设想。个中,javax.swing 包是 Swing 供应的最大包,它包括快要 100 个类和 25 个接口。险些统统 Swing 组件都在该包中。表 1 列出了经常使用的 Swing 包。
包称号 | 形貌 |
---|---|
javax.swing | 供应一组“轻量级”组件,只管让这些组件在统统平台上的工作方式都雷同 |
javax.swing.border | 供应缭绕 Swing 组件绘制特别边框的类和接口 |
javax.swing.event | 供应 Swing 组件触发的事宜 |
javax.swing.filechooser | 供应 JFileChooser 组件运用的类和接口 |
javax.swing.table | 供应用于处置惩罚 javax.swing.JTable 的类和接口 |
javax.swing.text | 供应类 HTMLEditorKit 和建立 HTML 文本编辑器的支撑类 |
javax.swing.tree | 供应处置惩罚 javax.swingJTree 的类和接口 |
javax.swing.event 包中定义了事宜和事宜监听器类,javax.swing.event 包与 AWT 的 event 包相似。Java.awt.event 和 javax.swing.event 都包括事宜类和监听器接口,它们离别响应由 AWT 组件和 Swing 组件触发的事宜。
比方,当在树组件中须要节点扩大(或折叠)的关照时,则要完成 Swing 的 TreeExpansionListener 接口,并把一个 TreeExpansionEvent 实例传送给 TreeExpansionListener 接口中定义的要领,而 TreeExpansionListener 和 TreeExpansionEvent 都是在 swing.event 包中定义的。
虽然 Swing 的表格组件(JTable)在 javax.swing 包中,但它的支撑类却在 javax.swing.table 包中。表格模子、图形绘制类和编辑器等也都在 javax.swing.table 包中。
与 JTable 类一样,Swing 中的树 JTree(用于按条理构造数据的构造组件)也在 javax.swing 包中,而它的支撑类却在 javax.swing.tree 包中。javax.swing.tree 包供应树模子、树节点、树单位编辑类和树绘制类等支撑类。
Swing 容器
建立图形用户界面顺序的第一步是建立一个容器类以包容其他组件,罕见的窗口就是一种容器。容器自身也是一种组件,它的作用就是用来构造、治理和显现其他组件。
Swing 中容器能够分为两类:顶层容器和中心容器。
顶层容器是举行图形编程的基本,统统图形化的东西都必需包括在顶层容器中。顶层容器是任何图形界面顺序都要触及的主窗口,是显现并承载组件的容器组件。在 Swing 中有三种能够运用的顶层容器,离别是 JFrame、JDialog 和 JApplet。
● JFrame:用于框架窗口的类,此窗口带有边框、标题、封闭和最小化窗口的图标。带 GUI 的应用顺序最少运用一个框架窗口。
● JDialog:用于对话框的类。
● JApplet:用于运用 Swing 组件的 Java Applet 类。
中心容器是容器组件的一种,也能够承载其他组件,但中心容器不能自力显现,必需依附于其他的顶层容器。罕见的中心容器有 JPanel、JScrollPane、JTabbedPane 和 JToolBar。
● JPanel:示意一个一般面板,是最天真、最经常使用的中心容器。
● JScrollPane:与 JPanel 相似,但它可在大的组件或可扩大组件四周供应滚动条。
● JTabbedPane:示意选项卡面板,能够包括多个组件,但一次只显现一个组件,用户可在组件之间方便地切换。
● JToolBar:示意工具栏,按行或列分列一组组件(通常是按钮)。
在 Java 顺序中容器类都是继续自 Container 类。中心容器和顶层容器在,AWT 包和 Swing 包中继续 Container 类的继续关联,如图所示(容器类构造构造图):
引荐进修:Java视频教程
以上就是什么是java swing?的细致内容,更多请关注ki4网别的相干文章!