【问题标题】:Where are Swing applications used?Swing 应用程序在哪里使用?
【发布时间】:2010-09-29 06:30:57
【问题描述】:

现在真的在使用 Swing 应用程序吗?我找不到使用它们的地方。跳过 AWT 和 Swing 包可以吗(不过我学到了一些基础知识)?

【问题讨论】:

标签: java swing


【解决方案1】:

您当然应该为桌面 Java 编写 Swing,仅在 Swing 需要的范围内使用 AWT。

我相信除了 SQL Squirrel 和 IntelliJ 之外,人们还能想出一些非常优秀的 Swing 应用示例。

我认为 Flex、Silverlight 等 RIA 技术正在崛起,因为 Web 和服务正在从台式机中抢走注意力。失败的不仅仅是 Swing。

【讨论】:

  • “当然”,也许不是,至少有 SWT 替代方案(我没学过)。
  • 我不认为 SWT 是一个可行的替代方案,但这是我个人的选择。
【解决方案2】:

Swing 应用程序用于 Java 应用程序在桌面上运行的大多数情况。有时您甚至不知道 - 例如,LimeWire 是一个 Java Swing 应用程序。

在学习Swing的时候,你会发现你会开始了解AWT中那些仍然很重要的部分,比如Event、LayoutManager、Graphics、Font、Color等。

【讨论】:

  • azureus 是在摇摆中开发的?哇 .. 谢谢你的信息 :)
  • 我相信 Azureus 使用 SWT 工具包(来自 Eclipse),而不是 Swing。
  • 是的,Azureus 是一个 Eclipse RCP,即它使用 SWT。
  • 我倾向于同意。当它们正确完成时,您甚至不会意识到您正在运行 Swing 应用程序。除非你真的看,否则无法判断我们的应用 (landlordmax.com) 是 Swing 应用。
  • 不,Azureus/Vuze 不是基于 Eclipse RCP,而是基于 SWT。
【解决方案3】:

Swing 大量用于业务特定(垂直)/内部应用程序开发。

【讨论】:

    【解决方案4】:

    嗯……NetBeans 怎么样?你知道,IDE?它使用 Swing。

    【讨论】:

    • 虽然 Eclipse 是很棒的 IDE,但它不使用 Swing,而是使用 SWT。
    【解决方案5】:

    查看Filthy Rich Clients。它解释了 AWT 和 Swing 的一些历史。 Swing,是大多数 AWT 类的轻量级替代品(继任者)。

    【讨论】:

      【解决方案6】:

      跳过 AWT 和 Swing?跳到哪里? SWT?基于 Web 的开发?

      从更广泛的意义上说,我有许多 Java 应用程序,尽管我不太确定它们使用的是 Swing 还是 SWT。

      • SQuirreL SQL Client 等许多数据库工具都是用 Java 编写的。我认为 SQuirrel 使用来自 Netbean 的东西,当然,它是基于 Swing 的。
      • yEd 是用 Java 编写的,可能是 Swing。
      • 许多 P2P 软件都是用 Java 编写的,包括 Frostwire(我在那里没有看到 SWT 的踪迹,但我只能错过它)。

      而且这份清单远非详尽无遗!

      哈哈!我忘了提到我工作的公司制作的软件套件!它非常专业,被移动电话公司用来监控其网络节点的健康状况(表面上看起来像一个电子表格)。完全基于 Swing。

      【讨论】:

      • Open Office 不是用 Java 编写的(由于其他原因它很慢;))。
      • 啊?有人已经告诉我了,但是在发布之前,我检查并发现了很多 jar 文件(在程序/类中)。确实,它也有很多 DLL 和 exe 文件。至少令人困惑。
      • OpenOffice 是用 C++ 编写的,并且以某种方式支持 Java 插件。
      【解决方案7】:

      如果您专门为网络写作,您可能会跳过 Swing,但否则您绝对会遇到它。我从来没有在没有 Swing GUI 的情况下开发过不平凡的 Java 应用程序。

      此外,Swing 是更好用的 API 之一。如果您使用大多数其他人,您会发现它们更难使用和/或平台不兼容。 (如果任何阅读本文的人都知道例外情况,请离开 cmets,我已经有一段时间没有寻找了,并且有点好奇是否有更好的东西可用)

      JRuby 和 Jython 等其他 JVM 语言经常使用,因为它们可以访问 Swing。

      【讨论】:

        【解决方案8】:

        当您想为非 Windows 操作系统编写桌面 GUI 应用程序时,您可以使用 Swing 作为唯一合理且有保证的跨平台 GUI 框架。

        此外,Swing 的设计非常好。我建议无论如何都要学习它,让自己成为一个更好的程序员。

        【讨论】:

          【解决方案9】:

          对于是否可以跳过某些内容,没有普遍的问题。这是一个优先事项。虽然 Swing 可以教给您很多东西(而且它与 AWT 融合得太多了),但如果您永远不会编写 GUI,那么最好还是投资于其他东西。

          Swing 虽然丑得要命,但仍然在许多地方使用。在 Indeed 或 dice 中快速搜索“java swing”会发现许多需要它的工作和行业。

          【讨论】:

          • Swing 虽然在很多方面都不是很好,但远非“丑陋得要命”。它有很多不错的概念,并且在获得一些经验后非常好用。最近的字体改进使得编写与本机应用程序无法区分的 GUI 成为可能。
          • 无法区分,除了它正确调整大小,即。
          • 我发现文件选择器的摆动速度很慢 - 我讨厌它们
          • 您可以用每种语言编写一些漂亮的东西,但根据我的经验,与其他 API 相比,在 Swing 中以类似的努力编写的绝大多数应用程序往往更笨重、不美观且不那么健壮。跨度>
          • 我总是将以下内容放在我的 main 方法的顶部以减少丑陋:UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());(带有必要的 try/catch)。它仍然没有你想要的那么漂亮,但它有很大帮助。
          【解决方案10】:

          您是否跳过考试/面试?除了 IntelliJ IDEA 和 NetBeans 等非常好的应用程序之外,还有许多类似于 Swing 的框架 [SWT (Eclipse)、GWT 等],您可以通过 Swing 知识更快地学习它们......

          【讨论】:

            【解决方案11】:

            IIRC jEdit 也是一个 Swing 应用程序。相当流行的文本编辑器。

            【讨论】:

              【解决方案12】:

              您可以结帐Swing Sightings

              本网站由 SUN 托管,专门用于使用 Swing 的软件项目。 有很多项目使用 Swing ...

              http://java.sun.com/products/jfc/tsc/sightings/

              【讨论】:

              • 虽然我不怀疑 Swing 即使在今天也有它的位置(同时也是一个丑陋而复杂的野兽开始使用),最后一次目击事件是从 2005 年开始的 - 所以它不能真正证明 今天 使用 Swing ;)
              • LandlordMax (LandlordMax.com) 是当前基于 Swing 的桌面应用程序。我可以向你保证 Swing 社区非常活跃!仅供参考:它是多年前 Swing Sightings 的特色。
              【解决方案13】:

              您可能应该关注JavaFX 以了解未来的工作。作为the FAQ states

              Sun 不会用 JavaFX Script 替换 Swing。相反,JavaFX Script 使 Swing 更易于使用。

              使用/学习它将让您很好地理解重要的 Swing 概念,以及它们如何适应“未来”。我还没有使用过 JavaFX,但听说过很好的消息。

              【讨论】:

                【解决方案14】:

                Geertjan Wielenga 经常blogs 谈论基于 NetBeans 平台的应用程序,以及 Swing。应用范围广泛,从相当小的深奥应用到非常大的关键任务系统(想到波音飞机)。在Planet NetBeans 上提到了许多 Geertjan 错过的企业级应用程序。似乎每隔几周就会有此类计划的公告或说明。

                如上所述,许多工具都使用 Swing,包括最喜欢的 IntelliJ IDEA IDE。我很惊讶没有其他人提到它。

                Sun 也曾经维护过一个Swing Sightings 网站,但几年没更新了。

                在我工作的地方,Swing 用于一个非常大的文档管理系统的表示层。在我自己的开发经验中,我曾将 Swing 用于图像处理、设备控制(视频、电机等)、数学、统计和医疗设备领域的桌面应用程序。

                顺便说一句,我同意文件选择器的缓慢性。但是有很多替代品将使用本机文件选择器。如果 L&F 不能很好地匹配,那可能会有点刺耳。

                编辑:哦,正如其他人所提到的,在 JVM 上使用来自其他语言的 Swing 非常容易。以 Clojure 为例,在我看来,它比 Java 更容易使用。

                【讨论】:

                • 您现在可以在 Oracle here 找到摇摆的目击事件
                【解决方案15】:

                虽然 Swing 有一些跨平台的外观和感觉缺陷,如果更新它以支持泛型会很好,但它仍然设计得很好并且非常实用。我一直是所提供的大量定制的粉丝。 SWT 很好,而且更原生,但是你也放弃了一些权力和控制。此外,它似乎更易于使用,这可能是一个优点,因为 Swing 由于其灵活性而可能过于复杂。

                【讨论】:

                  【解决方案16】:

                  Armitage工具是用swing制作的,metasploit框架的GUI工具。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2011-06-17
                    • 1970-01-01
                    • 2020-12-16
                    • 1970-01-01
                    • 2013-11-20
                    • 2013-12-15
                    • 2021-05-03
                    相关资源
                    最近更新 更多