Java Swing:编写跨平台应用程序(基本上是CRUD)

3

我需要编写跨平台应用程序(基本上是CRUD)。

使用Java Swing是个好主意吗?或者它已经过时了,您有更好的解决方案吗? 我不想为各种事情使用像5种语言这样的东西,一两种就足够了。


你熟练使用哪些编程语言?这会对答案产生很大影响。 - Michael Myers
Java、C#、C/C++、Delphi,还有一点点Python和VB。 - Mike
7个回答

8

Java和Swing绝对能够满足要求,您只需从Oracle/Sun下载语言运行时即可,无需其他任何东西。Java是少数几种自带完整且功能强大的GUI库的语言之一。

如果我现在要编写这样的程序,那就是我会使用的。


2
Swing是完整的、维护良好的Java实现,确保跨平台可移植性。更重要的是,它是Java语言的一部分,因此用户不需要下载其他内容来管理或膨胀您的程序。
虽然默认外观和感觉很丑陋,但Java 7将更新Swing的默认外观和感觉为Nimbus,看起来非常光滑。
如果你的问题涉及使用语言本身,我会说“是的”。Java像Swing一样有很好的文档和高度发展。它可能看起来冗长,但如果有问题,你可以肯定在Java中解决它。

你是指Nimbus吗?还是真的是Nautilus(我不知道那个)? - Mike
Nimubs... 代码失败了。我回答后,深入我的代码库查找类名后,我对它进行了相当大的修改。 - Humphrey Bogart
是的,我非常喜欢它。 你怎么知道它会成为下一个默认的L&F? 谣言吗? - Mike

1

为什么?有具体的原因吗? 我非常喜欢在Swing中进行L&F定制。 - Mike
我想我一直将Swing与典型的丑陋的“Java外观”联系在一起。这可能对现在的Swing不公平,我相信它已经有了巨大的改进,但是IBM背后的重量级SWT和它在Eclipse中的“证明”总是让我倾向于使用它(明白吗,swung it!)。 - Gavin Gilmour
我明白了。这似乎非常个性化 :) 我喜欢Nimbus L&F,但是在Python中,我看到了一些非常酷的GUI工具包。 - Mike

1

Java/Swing肯定能够满足您的需求。还有其他解决方案,如.NET/Mono、各种跨平台GUI库和C++。

如果我今天必须做出决定,我会选择使用Java/Swing。Java因为它得到了更好的支持,Swing因为它是内置的,而JDBC则让它胜过其他解决方案。

Gavin说得对,+1给SWT。如果我不知道Swing,我会在做出最终决定之前考虑SWT。然而,我知道Swing可以很好地完成工作。


0

既然已经有了好的Java答案,那么也可以使用C#来做UI(只要不使用任何Windows特定的东西)。System.Windows.Forms类型的应用程序可以在Windows、Linux和Mac OS X上运行(使用mono)。需要为每个想要支持的平台完成一些额外的工作,但是这是可能的。

(如果您已经了解Java,最好还是使用它,因为跨平台支持更好,而且不需要用户安装mono或.net)


0
Java/Swing还不错。我建议购买JFormsDesigner或其他UI布局工具的许可证,这将大大简化生活。
另外,可以查看一下SwingX,这是一群在Swing上工作的人开发的自定义控件和其他看起来不错且非常有用的东西。
那里也是寻找最佳实践的好地方。

0
也许你可以通过创建XML请求/响应流并使用Web服务来解耦前端和后端。然后,只要使用适当的Web客户端,你就可以使用任何技术编写前端。

是的,我曾经考虑过“瘦客户端”(使用Web),但我放弃了那个想法 :/不过,这也不错 - 绝对没问题 :) - Mike
当然是跨平台的。您的客户端可以是.NET、Java、Python——任何能够向您的服务发出HTTP请求的东西。 - duffymo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接