什么是 Java GUI

Posted

技术标签:

【中文标题】什么是 Java GUI【英文标题】:What are the Java GUIs 【发布时间】:2012-08-28 22:25:08 【问题描述】:

我离 Java 技术太远了。

只是出于好奇,让我们使用 Java 开发桌面应用程序(如 Windows 窗体)的技术/API/类的名称是什么? 我听说了一个名为 Swing 的工具包。那是官方的 GUI 工具包吗?还有 Swing 的替代品吗? Java中有没有对应C#的WPF的技术?

【问题讨论】:

既然您已经听说过 Swing,您是否尝试过查找并阅读一些文档? Swing 的替代方案:Java FX 2.x 每个问题问一个问题会很好。例如,您的最后一个问题已经被询问和回答:What is Java's answer to WPF? 为诚实点赞。 ;) 但你真的应该在问这里之前查一下。 这个问题之前已经讨论过,而且相当全面。 ***.com/questions/7358775/… 【参考方案1】:

Java Swing 是 Java 最常用的 GUI 工具包。有替代方案(JavaFX、AWT、SWT),但如果您开始使用 Java 开发桌面应用程序,Swing 是一个很好的起点。我唯一会考虑的是寻找替代的 LayoutManagers,比如 MigLayout。但是您可以轻松地从标准的开始。有一个很棒的 visual guide 可以开始使用 Java Swing 和各种 LayoutManagers。

【讨论】:

“Java Swing是Java的官方GUI工具包”是吗? @assylias 我没有找到证明它的链接,但它在 javax 树中,是 AWT 的继承者。此外,我不知道官方 java 包树中有任何更新的工具包。你呢? Java FX 2.x 现在是 JDK 的一部分(自 JDK 7u6 起)。它旨在成为 Swing 的继任者 @brimborium 是的 ;-) FX 的准备工作非常快,根据我的测试,我认为它已经可以用于现实生活中的应用。但正如您所注意到的,对于初学者来说,可用支持的数量少于 Swing,因为它更新。 @assylias 哇哦,我刚刚玩了一下 FX。太奇妙了。但是现在有更多有用的 Swing 教程是正确的。我希望FX能够接管。 ;)【参考方案2】:

有 AWT、Swing、SWT、JavaFX、android GUI。

最常见的是 Swing,虽然它不是最漂亮的,但除非你有特殊要求,否则我会从它开始。

Java FX 2.x 演示 http://www.oracle.com/technetwork/java/javafx/samples/index.html

【讨论】:

Java FX 看起来很棒(主观)并且更易于使用(也主观)。初学者的缺点:支持较少。另外值得注意的是,它现在包含在 JDK 中。 @assylias 正如您对问题的评论 Java FX 2.x 看起来不错,我不会使用原始的 Java FX ;) 我猜这也在改变...现在默认安装 JavaFX,从 Java 7 更新 6 开始。 @PeterLawrey Java FX 1.x EOL 已经宣布,所以显然不是一个好选择。 看看 Ensemble 演示,它看起来真的很棒。 :) 我注意到它可以与 Swing 一起使用,所以它不必是一个或另一个。【参考方案3】:

Java 有以下用于 GUI 开发的选项:

(1) AWT
This is the old GUI development library

(2) Swing
This is the new GUI development library

(3) JavaFX
This is the latest GUI technology of Java,
it comes with FXML for fast UI development.

FXML 与 .NET 的 XAML 不兼容,但可以认为是等效的。

【讨论】:

【参考方案4】:

在 Java 中,您可以使用许多不同的 GUI 技术。

Swing 是您可以使用的技术之一。它是轻量级的,是 Java 的官方工具包。 此外,您可以查看 SWT、AWT 或 JMonkey 的 3D 内容。

与 WPF 类似是什么意思? MVVM 模式?

类似于 Silverlight 但更好的是 GWT Toolkit。

【讨论】:

GWT 优于 Silverlight 的更好方法是什么? GWT 更常被用作 Silverlight,意思是……谁安装了 Silverlight?它来自谷歌【参考方案5】:

是的,Swing 是 Java 运行时环境的官方 GUI 工具包。

【讨论】:

以上是关于什么是 Java GUI的主要内容,如果未能解决你的问题,请参考以下文章

Java常用包说明

无法在 Opensuse 上运行 Java Runtime.exec()

Java学习笔记——位运算符方法package包键盘输入

TCP客户端(java)没有从TCP服务器(C#)接收消息

Jar runnable eclipse无法正常工作

第十七周周总结 Swing