首页编程java编程javax.swing.包含什么,java里的swing是什么意思,为什么取名swing

javax.swing.包含什么,java里的swing是什么意思,为什么取名swing

编程之家2023-10-11117次浏览

大家好,感谢邀请,今天来为大家分享一下javax.swing.包含什么的问题,以及和java里的swing是什么意思,为什么取名swing的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

javax.swing.包含什么,java里的swing是什么意思,为什么取名swing

java里的swing是什么意思,为什么取名swing

软件包 javax.swing

提供一组“轻量级”(全部是 Java语言)组件,尽量让这些组件在所有平台上的工作方式都相同。

接口摘要

javax.swing.包含什么,java里的swing是什么意思,为什么取名swing

Action Action接口提供 ActionListener接口的一个有用扩展,以便若干控件访问相同的功能。

BoundedRangeModel定义由 Slider和 ProgressBar这类组件使用的数据模型。

ButtonModel按钮的状态模型。

javax.swing.包含什么,java里的swing是什么意思,为什么取名swing

CellEditor此接口定义任何通用编辑器应该能够实现的方法。

ComboBoxEditor用于 JComboBox组件的编辑器组件。

ComboBoxModel用于组合框的数据模型。

DesktopManager DesktopManager对象由 DesktopPane对象所拥有。

Icon一个小的固定大小图片,通常用于装饰组件。

JComboBox.KeySelectionManager定义 KeySelectionManager的接口。

ListCellRenderer标识可用作“橡皮图章”以绘制 JList中单元格的组件。

ListModel此接口定义方法组件(如 JList),这些组件用于获取列表中每个单元格的值以及列表的长度。

ListSelectionModel此接口表示任何组件的当前选择状态,该组件显示一个具有稳定索引的值列表。

MenuElement可以放入菜单中的所有组件都应该实现此接口。

MutableComboBoxModel ComboBoxModel的可变版本。

Renderer为负责“呈现”(显示)值的对象定义需求。

RootPaneContainer此接口由具有单个 JRootPane子组件的组件来实现,这些子组件包括:JDialog、JFrame、JWindow、JApplet、JInternalFrame。

Scrollable为类似 JScrollPane的滚动容器提供信息的接口。

ScrollPaneConstants与 JScrollPane组件一起使用的常数。

SingleSelectionModel最多支持一个索引选项的模型。

SpinnerModel对象值的潜在无界序列的模型。

SwingConstants通常用于在屏幕上定位或定向组件的常量的集合。

UIDefaults.ActiveValue此类使用户能够在默认表中存储项,该默认表在每次使用某个 getXXX(key)方法进行查找时创建。

UIDefaults.LazyValue此类使用户能够在默认表中存储项,该默认表只有在第一次使用某个 getXXX(key)方法进行查找时才创建。

WindowConstants用于控制窗口关闭操作的常量。

类摘要

AbstractAction此类提供 JFC Action接口的默认实现。

AbstractButton定义按钮和菜单项的一般行为。

AbstractCellEditor

AbstractListModel该数据模型的抽象定义提供一个带内容的 List。

AbstractSpinnerModel此类提供 SpinnerModel接口的 ChangeListener部分,该接口应该适用于最具体的 SpinnerModel实现。

ActionMap ActionMap提供从 Object(称为键或 Action名)到 Action的映射。

BorderFactory提供标准 Border对象的工厂类。

Box使用 BoxLayout对象作为其布局管理器的一个轻量级容器。

Box.Filler参与布局但没有视图的轻量级组件的实现。

BoxLayout允许纵向或横向布置多个组件的布局管理器。

ButtonGroup此类用于为一组按钮创建一个多斥(multiple-exclusion)作用域。

CellRendererPane此类被插入在单元格渲染器与使用它们的组件之间。

ComponentInputMap ComponentInputMap是与特定 JComponent相关联的 InputMap。

DebugGraphics支持图形调试的图形子类。

DefaultBoundedRangeModel BoundedRangeModel的一般实现。

DefaultButtonModel Button组件的数据模型的默认实现。

DefaultCellEditor表单元格和树单元格的默认编辑器。

DefaultComboBoxModel组合框的默认模型。

DefaultDesktopManager此类是 DesktopManager的实现。

DefaultFocusManager此类已被废弃,用 1.4 focus API取代。

DefaultListCellRenderer呈现列表中的一个项。

DefaultListCellRenderer.UIResource实现 UIResource的 DefaultListCellRenderer的子类。

DefaultListModel此类以松散方式实现 java.util.Vector API,它实现 1.1.x版本的 java.util.Vector,没有 collection类支持,并且在发生更改时通知 ListDataListener。

DefaultListSelectionModel列表选择的默认数据模型。

DefaultSingleSelectionModel SingleSelectionModel的一般实现。

FocusManager从 1.4 focus API开始,此类已被废弃。

GrayFilter一个图像过滤器,它通过将图像转换成灰度级图像并增亮图像中的像素来“禁用”图像。

ImageIcon一个 Icon接口的实现,它根据 Image绘制 Icon。

InputMap InputMap提供输入事件(目前只使用 KeyStroke)和 Object之间的绑定。

InputVerifier此类的用途是通过带文本字段的 GUI帮助客户端支持流畅的焦点导航。

InternalFrameFocusTraversalPolicy该 FocusTraversalPolicy可以有选择地提供确定 JInternalFrame初始 Component的算法。

JApplet java.applet.Applet的扩展版,它添加了对 JFC/Swing组件架构的支持。

JButton"push"按钮的实现。

JCheckBox复选框的实现,复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。

JCheckBoxMenuItem可以被选定或取消选定的菜单项。

JColorChooser JColorChooser提供一个用于允许用户操作和选择颜色的控制器窗格。

JComboBox将按钮或可编辑字段与下拉列表组合的组件。

JComponent该类是除顶层容器外所有 Swing组件的基类。

JDesktopPane用于创建多文档界面或虚拟桌面的容器。

JDialog创建对话框窗口的主要类。

JEditorPane可编辑各种内容的文本组件。

JFileChooser JFileChooser为用户选择文件提供了一种简单的机制。

JFormattedTextField JFormattedTextField扩展了 JTextField,添加了对格式化任意值的支持,以及一旦用户编辑了文本就检索特定对象的支持。

JFormattedTextField.AbstractFormatter JFormattedTextField所使用的 AbstractFormatter实例,用于处理从 Object到 String和从 String到 Object的转换。

JFormattedTextField.AbstractFormatterFactory JFormattedTextField使用的 AbstractFormatterFactory实例,用来获得 AbstractFormatter实例,依次使用该实例格式化各个值。

JFrame java.awt.Frame的扩展版本,该版本添加了对 JFC/Swing组件架构的支持。

JInternalFrame提供很多本机窗体功能的轻量级对象,这些功能包括拖动、关闭、变成图标、调整大小、标题显示和支持菜单栏。

JInternalFrame.JDesktopIcon此组件表示 JInternalFrame的图标化版本。

JLabel用于短文本字符串或图像或二者的显示区。

JLayeredPane JLayeredPane为 JFC/Swing容器添加了深度,允许组件在需要时互相重叠。

JList该组件允许用户从列表中选择一个或多个对象。

JMenu菜单的该实现是一个包含 JMenuItem的弹出窗口,用户选择 JMenuBar上的项时会显示该 JMenuItem。

JMenuBar菜单栏的实现。

JMenuItem菜单中的项的实现。

JOptionPane JOptionPane有助于方便地弹出要求用户提供值或向其发出通知的标准对话框。

JPanel JPanel是一般轻量级容器。

JPasswordField JPasswordField是一个轻量级组件,允许编辑一个单行文本,其视图指示键入内容,但不显示原始字符。

JPopupMenu弹出菜单的实现,弹出菜单是一个可弹出并显示一系列选项的小窗口。

JPopupMenu.Separator弹出与菜单有关的分隔符。

JProgressBar默认显示有界区间整数值的组件。

JRadioButton实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。

JRadioButtonMenuItem一个单选按钮菜单项的实现。

JRootPane该轻量级容器由 JFrame、JDialog、JWindow、JApplet和 JInternalFrame在后台使用。

JScrollBar滚动条的实现。

JScrollPane提供轻量级组件的 scrollable视图。

JSeparator JSeparator为实现分隔线提供了一个通用组件-通常用作菜单项之间的分隔符,以便将菜单项分成几个逻辑组。

JSlider一个让用户以图形方式在有界区间内通过移动滑块来选择值的组件。

JSpinner让用户从一个有序序列中选择一个数字或者一个对象值的单行输入字段。

JSpinner.DateEditor其模型为 SpinnerDateModel的 JSpinner编辑器。

JSpinner.DefaultEditor一个针对非常特殊编辑器的简单基类,该类在 JFormattedTextField中显示模型的当前值的只读视图。

JSpinner.ListEditor其模型为 SpinnerListModel的 JSpinner编辑器。

JSpinner.NumberEditor其模型为 SpinnerNumberModel的 JSpinner编辑器。

JSplitPane JSplitPane用于分隔两个(只能两个)Component。

JTabbedPane一个组件,它允许用户通过单击具有给定标题和/或图标的选项卡,在一组组件之间进行切换。

JTable JTable用来显示和编辑规则的二维单元表。

JTextArea JTextArea是一个显示纯文本的多行区域。

JTextField JTextField是一个轻量级组件,它允许编辑单行文本。

JTextPane可以用以图形方式表示的属性来标记的文本组件。

JToggleButton具有两个状态的(two-state)按钮的实现。

JToggleButton.ToggleButtonModel ToggleButton模型警告:此类的已序列化对象与以后的 Swing版本不兼容。

JToolBar JToolBar提供了一个用来显示常用的 Action或控件的组件。

JToolBar.Separator一个特定于工具栏的分隔符。

JToolTip用来显示 Component的“提示”。

JTree将分层数据集显示为轮廓的控件。

JTree.DynamicUtilTreeNode DynamicUtilTreeNode可以包装 vectors/hashtables/arrays/strings并根据需要创建适当的子树节点。

JTree.EmptySelectionModel EmptySelectionModel是一个不允许选择任何内容的 TreeSelectionModel。

JViewport用于查看基础信息的“视口”或“观察孔”。

JWindow JWindow是一个容器,可以显示在用户桌面上的任何位置。

KeyStroke表示键盘或等效输入设置上的键操作的 KeyStroke。

LayoutFocusTraversalPolicy根据 Component的大小、位置和方向对其排序的 SortingFocusTraversalPolicy。

LookAndFeel从可插入外观组件的角度全面展现外观的特性。

MenuSelectionManager MenuSelectionManager拥有菜单层次结构中的选项。

OverlayLayout要在彼此顶部安排组件的布局管理器。

Popup Popup用于向用户显示 Component,它通常位于特定包含层次结构中所有其他 Component的顶部。

PopupFactory顾名思义,PopupFactory用于获取 Popup的实例。

ProgressMonitor监视某个操作的进度的类。

ProgressMonitorInputStream监视读取某些 InputStream的进度。

RepaintManager此类管理重绘请求,以最大限度地降低重绘次数。

ScrollPaneLayout JScrollPane使用的布局管理器。

ScrollPaneLayout.UIResource ScrollPaneLayout的 UI资源版本。

SizeRequirements为方便布局管理器,计算组件的有关大小和位置信息。

SizeSequence一个 SizeSequence对象,它有效地维护一个包含大小和相应位置的顺序列表。

SortingFocusTraversalPolicy通过对焦点遍历循环的 Components按给定 Comparator排序确定遍历顺序的 FocusTraversalPolicy。

SpinnerDateModel Date序列的一个 SpinnerModel。

SpinnerListModel其值由数组或 List定义的 SpinnerModel的简单实现。

SpinnerNumberModel用于数字序列的 SpinnerModel。

Spring该 Spring类的实例将存储以下三个表示其行为特征的属性:minimum、preferred和 maximum值。

SpringLayout SpringLayout根据一组约束布置其相关容器的子组件。

SpringLayout.Constraints Constraints对象将管理组件大小和位置更改方式的约束存储在 SpringLayout控制的容器中。

SwingUtilities Swing实用方法的集合。

Timer在指定延迟之后激发一个或多个操作事件。

ToolTipManager管理系统中的所有 ToolTips。

TransferHandler此类用于处理往返于 Swing组件的 Transferable的传输。

UIDefaults Swing组件的默认值表。

UIDefaults.LazyInputMap LazyInputMap将在其 createValue方法中创建一个 InputMap。

UIDefaults.ProxyLazyValue此类提供一个可用于延迟加载要创建实例类的 LazyValue的实现。

UIManager此类跟踪当前的外观及其默认设置。

UIManager.LookAndFeelInfo为了配置菜单或为了初始应用程序设置而提供关于已安装的 LookAndFeel的少量信息。

ViewportLayout JViewport的默认布局管理器。

枚举摘要

JTable.PrintMode用于打印 JTable的打印模式。

异常摘要

UnsupportedLookAndFeelException指示在用户系统上不存在请求的外观管理类的异常。

软件包 javax.swing的描述

提供一组“轻量级”(全部是 Java语言)组件,尽量让这些组件在所有平台上的工作方式都相同。有关使用这些组件的程序员指南,请参阅 Creating a GUI with JFC/Swing,该内容在《The Java Tutorial》的结尾处。有关其他参考资料,请参阅相关文档。

SWT和Swing代码的区别

笔者过去学习过Swing(也算是AWT的增强版吧)现在开始学习一下 SWT还没有开始深入 JFace和 RCP一步步来吧先学好基础的又不用着急做项目用本文讨论的内容仅限于我已知的 SWT和Swing范围希望能对有 Swing经验的人快速了解 SWT有所帮助

第一个不同点就是 SWT的类库结构不像 Swing没有单一的父组件 SWT中有好几个父类

◆Widget——基本的 SWT GUI组件(类似于 Java AWT中的 Component和 Swing中的 JComponent) Widget是一个抽象类

◆Control——拥有操作系统的对等物的窗口小部件(换句话说在操作系统中具有同一身份) Control是一个抽象类

◆Composite——包含其他控件的控件(类似于 Java AWT中的 Container和 Swing中的 JPanel)

◆Item——其他控件包含的窗口小部件(该控件可能不是复合控件)比如列表和表注意包含一些项的控件很少包含其他控件反之亦然 Item是一个抽象类

SWT的组件不能随意继承其源代码中会标注 IMPORTANT This class is<em>not</em> intended to be subclassed如果你那样做了运行的时候 SWT系统就会报错也不能任意包含子组件某些组件例如 Tree只能接收 TreeItem作为其子组件这样在写一些可重用的图形组件的时候必须注意 Swing中的写法不能直接套用在 SWT中

Swing的所有图形界面类都继承自 java awt Container这意味着所有的 Swing组件都可以包含任意的子组件也可以被继承这是两个类库的第一个不同点

第二个不同点就是 SWT没有利用 Java的自带垃圾收集功能来管理对象的销毁大部分对象都必须调用 dispose()方可完成资源的释放

第三个不同点就是在组件的显示上 SWT抽象了一个 Display对象来处理 SWT和操作系统底层组件的通信资源申请释放事件循环任何显示的 SWT组件必须有且仅有一个 Display对象

第四个不同点就是 Swing的组件实现了 MVC机制但是 SWT没有(目前来看)提供 MVC机制也就是说绝大多数 SWT组件都是不可以更换显示的外观的我的意思是例如像皮肤这样的机制例如实现一个 Office外观的橙色菜单条的显示 SWT是不能通过简单的编码来实现的(也许有但是还没找到相关的资料)

SWT的每个组件对象提供了 setData(Object)这样的方法来给组件存储一个或者多个数据对象 Swing中没有类似的概念

第五个不同点就是绝大多数的 SWT组件创建的时候都必须指定父组件和风格属性也就是必须有一个 parent对象也不能运行的时候动态变更父组件具体例如 Menu对象里有 Decorations getParent()但是并无对应的 setParent()方法组件创建之后即自动加入父组件成为其一员这和 Swing的必须通过 add()方法来加入父组件是不一样的大多数的 SWT组件不提供无参数的构造器这就意味这他们不是 JavaBean这点上 Swing的绝大多数组件都是 JavaBean

总结以上这些内容我们可以感觉到 SWT更像是操作系统本地组件的一种封装而不是基于 Java OO的概念对其进行映射其优点就是数据结构简单

好了接下来还是通过一些SWT和Swing的代码来比较吧第一个是经典的 Hello World

SWT版本

import eclipse swt widgets*;

public class SWTHelloWorld{

public static void main(String[] args){Display display= new Display();Shell shell= new Shell(display);shell setText( Hello World!);shell open();while(!shell isDisposed()){if(!display readAndDispatch())display sleep();}display dispose();}}

Swing版本

import javax swing JFrame;

public class SwingHelloWorld{

public static void main(String[] args){JFrame frame= new JFrame();frame setTitle( Hello World!);frame setDefaultCloseOperation(JFrame DISPOSE_ON_CLOSE);frame setSize();frame setVisible(true);}}

SWT的 Text属性在不同的组件中有不同的意思对于窗体来说它是标题对于控件来说它是显示的文本 Swing中这个是分开的对于窗口来说是 Title属性对于控件来说是 Text属性 SWT的事件循环基于显式的 while模式而 Swing已经在底层封装好了事件的循环和处理所以这两段代码最明显的不同就是 SWT多了时间循环的部分即文中粗体的部分

接着我们来看看继承 SWT的组件会有什么后果在 Swing中继承一个组件然后向其中添加子组件例如建立一个自定义的工具栏然后向其中加入子栏目并最后显示出来这是经常进行的操作再看看 SWT中

import eclipse swt widgets Display;import eclipse swt widgets Shell;import eclipse swt widgets ToolItem;import eclipse swt SWT;

public class NewToolBar extends eclipse swt widgets ToolBar{

public static void main(String[] args){try{Display display= Display getDefault();Shell shell= new Shell(display);new NewToolBar(shell SWT NULL);

shell open();while(!shell isDisposed()){if(!display readAndDispatch())display sleep();}} catch(Exception e){e printStackTrace();}}

public NewToolBar(Shell parent int style){super(parent style);new ToolItem(this SWT NULL);}

}

lishixinzhi/Article/program/Java/hx/201311/26347

Import java.awt.*是什么意思是要导入button嘛

如楼上所说

导入awt包里的所有java类。

java.awt包,即java抽象窗口工具包(Abstract Window Toolkit,AWT)提供了许多用来设计GUI(Graphics User Interface,图形用户界面)组件类。java早期进行用户界面设计时,主要是用java.awt包提供的类。如Button(按钮)、TextField(文本框)和List(列表)等。JDK1.2推出之后,增加了一个新的javax.swing包,该包提供了功能更为强大的用来设计GUI的类。还包括了事件侦听的一些借口方法

javax.swing.*;提供了更多的控件类,导入的是JButton类,与前者不同,现在变成一般都使用swing中的控件~

OK,关于javax.swing.包含什么和java里的swing是什么意思,为什么取名swing的内容到此结束了,希望对大家有所帮助。

java泛化对应的是什么意思(JAVA泛化及为什么需要泛化)反人类