,什么是Java servlet
如何解决写爬虫IP受阻的问题?立即使用。
Swing是一个开发Java应用用户界面的开发工具包(GUI toolkit),是JAVA基础类的一部分。它包括图形用户界面(GUI)设备,如文本框、按钮、分隔窗格和表格。
Swing提供了许多比AWT更好的屏幕显示元素。它们是用纯Java编写的,所以它们可以像Java本身一样跨平台运行,而不像AWT。他们是JFC的一部分。他们支持可替换的面板和主题(各种操作系统默认的唯一主题),但并没有真正使用原生平台提供的设备,只是在表面上模仿。这意味着您可以在任何平台上使用JAVA支持的任何面板。轻量级组件的缺点是执行速度慢,优点是可以在所有平台上采用统一的行为。
Swing 类库结构
Swing组件全部采用MVC(模型-视图-控制器)设计,实现GUI组件的显示逻辑和数据逻辑的分离,从而允许程序员自定义渲染来改变GUI组件的显示外观,提供更多的灵活性。
Swing是围绕JComponent组件构建的,JComponent是由AWT的容器类扩展的。
Swing类库组织结构图:
如您所见,Swing组件以J开头,AbstmctButton类除外。Swing容器组件直接继承AWT类库中的容器组件类,其他大部分组件继承JComponet组件。组件可以分为容器组件和非容器组件。容器组件包括JFmme和JDialog。JComponent定义了非容器类的轻量级组件(JBntton、JPanel、JMenu等。).
Swing 包
Swing类库由很多包组成,这些包中的类相互协作完成GUI设计。其中就有javax。Swing包是swing提供的最大的包,包含近100个类和25个接口。几乎所有的Swing组件都在这个包中。表1列出了常用的Swing包。
0 @ 166.com javax . swing . event包定义了事件和事件监听器类,类似于AWT的事件包。都是Java。AWT.event和javax。Swing.event包含事件类和侦听器接口,它们分别响应由awt和Swing组件触发的事件。
例如,当树组件中需要节点展开(或折叠)的通知时,将实现Swing的TreeExpansionListener接口,并将TreeExpansionEvent的一个实例传输到TreeExpansionListener接口中定义的方法,并且在swing.event包中定义了TreeExpansionListener和TreeExpansionEvent。
虽然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:指tab面板,可以包含多个组件,但一次只显示一个组件,用户可以方便地在组件之间切换。
JToolBar:指工具栏,将一组组件(通常是按钮)排列成行或列。
在Java程序中,容器类都是从容器类继承而来的。中间容器和顶层容器继承AWT包和Swing包中容器类的继承关系,如图(容器类的组织结构图):
推荐:Java视频教程以上就是什么是java swing?更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。