我厌倦了JButtons,我怎样才能在java中创建更好的GUI?

到目前为止,我只使用我在学校学到的swing和JComponents构建了“小”图形应用程序。 然而,我再也忍受不了丑陋的JButton了。 我尝试过使用不同的JButton方法,比如改变颜色,放置图标等,但我仍然不满意。 你如何在java中创建更好的GUI?

我正在寻找不太重的替代品(比如,没有大框架或太复杂的库)。

Swing支持改变外观。

本教程解释了如何:

UIManager.setLookAndFeel(lookAndFeelClassName); 

另一种方法是使用L&F启动您的应用程序:

 java -Dswing.defaultlaf=com.sun.java.swing.plaf.windows.WindowsLookAndFeel MyApp 

这里有10个非常漂亮的外观和感觉列表。

我正在使用SWT 。 尝试一下,这是非常好的java gui框架,eclipse是围绕它构建的。 您也可以使用此插件为eclipse创建表单实例化 。

你有没有尝试过nimbus look’n’feel? 这比其他人好一点..

 UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"); 

唯一的缺点是它至少需要Java6更新10。

 try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch(Exception e) {} 

我们的项目经理也不喜欢JButtons,我们正在使用JIDE OSS按钮(以及其他JIDE组件的批次)。 SwingX还提供了另一种选择–JXButton。 IMO这是两个最有价值的外部Swing库。

您可能想尝试JavaFX 。 对于它的所有问题,我发现如果你想在Java应用程序上放置一个不错的(比Swing更好的)接口,它很容易做到。 加上良好的Java集成。 您可以在JavaFX中实现Java接口,反之亦然。

本文介绍如何扩展JButton并覆盖绘制组件的方法。

最简单的方法是使用Swing并使用不同的外观和感觉。

可以轻松完成的工作如http://www.jgoodies.com/freeware/metamorphosis/index.html所示(使用此Web开始链接查看其中的操作)

要么将L&F与您的程序捆绑在一起,要么选择其中一个内置。我喜欢Nimbus但必须在您的代码中明确选择它。

如果您对图形设计有一点了解,可能需要考虑使用Synth创建自己的设计, Synth是标准JRE的一部分。 如果您不想创建自己的,可以使用Google免费的现有主题。

Synth的替代品是Synthetica (免费用于个人,非商业用途)或Substance (“免费”用于“BSD许可证”)。

如果Java有一个与Interface Builder(Xcode附带的GUI开发工具)类似的工具,那将是很好的 – 迄今为止我见过的最好的UI构建器。