不带 AWT 的 Swing GUI 侦听器

2022-08-31 11:55:06

我是一名Java初学者,只从互联网教程中学习。我正在学习全屏 GUI 应用程序。我昨天被告知,我不应该在我的程序中使用AWT,因为它已经过时了。我已经知道轻质和重量级组件,主要问题是鼠标和键盘听众。为什么AWT已经过时了?

如何在没有AWT的情况下制作程序(将侦听器添加到等)?什么样的Swing东西可以取代AWT?JComponent


答案 1

您误解了提供给您的信息。应避免将 Swing 组件与 AWT 组件一起使用。将 Swing 与 AWT 侦听器结构、布局管理器等一起使用是可以的,事实上,不可能不这样做。


答案 2

有一些很好的答案,但我想介绍一个稍微不同的方面。Swing提供的超越AWT的东西。

组件

Swing 支持 & 在有限的程度上使用其他一些 HTML 的样式文档。AWT 不支持任何组件中的样式文档。JEditorPaneJTextPaneJComponents

AWT没有提供像树这样的基于树的结构,没有表格结构,没有版本。JTreeJTableJToolBar

AWT没有等价物(我可以找到或回忆起),也没有用于简单实用程序类 - 。JColorChooserJOptionPane

听众

如注释中所述,请参阅包中的 20 多个额外/备用侦听器。javax.swing.event

可插拔的外观和感觉

Swing 组件可以在运行时设置为特定的外观,包括本机 PLAF。

有关更多示例,请参阅嵌套布局示例上的屏幕截图。

布局

除了大量的AWT布局外,Swing还提供:

  1. BoxLayout
  2. GroupLayout
  3. OverlayLayout
  4. ScrollPaneLayout
  5. SpringLayout
  6. ViewportLayout

其他


在这个简短的描述中,我可能错过了更多,但最重要的是,Swing是一个更新,更支持的GUI工具包。

Swing 既建立在 AWT 中,在很大程度上依赖于 AWT 中的类。


推荐