(Java)为什么有些人仍然使用awt库而不是swing?

(Java)为什么有些人仍然使用awt库而不是swing?,java,swing,user-interface,awt,Java,Swing,User Interface,Awt,我经常在YouTube上看到关于在不使用swing库的地方制作JavaGUI的教程,而不是使用AWT的swing。 有什么好处?缺点是什么?以下是我在AWT上发现的一些其他优点: Swing为AWT替换组件提供了附加组件和附加功能 Swing组件可以根据当前使用的“外观”库更改其外观。您可以使用相同的外观 感受你所处的平台,或使用不同的外观和感觉 Swing组件遵循模型-视图-控制器范式(MVC),因此可以提供更灵活的UI Swing为组件提供“额外功能”,例如: 许多组件上的图标 组件的装

我经常在YouTube上看到关于在不使用swing库的地方制作JavaGUI的教程,而不是使用AWT的swing。
有什么好处?缺点是什么?

以下是我在AWT上发现的一些其他优点:

  • Swing为AWT替换组件提供了附加组件和附加功能

  • Swing组件可以根据当前使用的“外观”库更改其外观。您可以使用相同的外观
    感受你所处的平台,或使用不同的外观和感觉

  • Swing组件遵循模型-视图-控制器范式(MVC),因此可以提供更灵活的UI

  • Swing为组件提供“额外功能”,例如:

    • 许多组件上的图标
    • 组件的装饰边框
    • 组件的工具提示
  • Swing组件是轻量级的(资源密集度低于

  • Swing提供内置的双缓冲
  • Swing为您构建自己的绘制时提供绘制调试支持
组成部分

Swing还有一些缺点:

  • 它需要Java2或一个单独的JAR文件

  • 如果编程时不十分小心,它可能比AWT慢(所有组件都已绘制)

  • 看起来像本机组件的Swing组件可能与本机组件的行为不完全相同


此外,习惯就是一切。他们只要练习就可以。但我更喜欢Swing,但我们最终需要AWT来处理事件或布局

java.AWT库主要由导师使用,以使他们的学生熟悉java GUI组件。并非所有java实现都包括Swing。Swing现在也过时了。可能您应该了解Java FX。请查看更多信息。实际上,您很少使用awt…但最近我尝试在javafx中创建systray图标/菜单,只有awt有api在windows中访问此功能。第一个缺点可以消除。今天我们有Java 9。