JavaFX和Swing可以创建一个视觉上吸引人的GUI吗?

16

我想在Java中做一个视觉吸引人/用户友好的GUI。Swing在“皮肤”自定义方面有限制。我正在考虑JavaFX,但我还不太了解它,

  • 这种技术可以实现什么?
  • 难度如何?
  • 您有关于Swing / JavaFX集成的真实应用示例吗?

我想在这个.NET框架上构建类似以下图片的东西: GUI example with .NET techno

原始链接:http://www.patrickpayet.com/net/?p=329 编辑:是否有任何入门概述的示例代码,我可以阅读以了解所需的工作总体感觉?也许类似于miglayout的swing演示 http://www.migcalendar.com/miglayout/swingdemoapp.jnlp

编辑2:我发现http://download.java.net/general/openjfx/demos/tutorial.jnlp ,但它非常基础,链接自http://www.deitel.com/ResourceCenters/Programming/JavaFX/JavaFXTutorialsandDemos/tabid/2187/Default.aspx


19
我从未想过我会在一生中看到“Java”和“性感”这两个词在同一个句子中出现。 - Dave DeLong
1
@Dave 23岁,还很年轻,你有时间去探索生活中的新事物。也许可以从http://filthyrichclients.org/和Romain Guy的博客http://www.curious-creature.org/category/swing/开始,获取一些启示。 - Pascal Thivent
我的观点不在于我的年龄,而是你们两个Dave和你(还有我)很可能仍然有一些事情要发现。 - Pascal Thivent
顺便说一下,我认为截图上的用户界面不太性感。但也许这主要是一个设计问题。 - Display Name
7个回答

18

非常感谢,有没有一些入门概述的示例代码可以阅读,以便了解实现类似屏幕截图所需的工作的一般感觉?也许像miglayout的swing演示一样的东西http://www.migcalendar.com/miglayout/swingdemoapp.jnlp? - amirouche
嗯,由于我没有深入研究JavaFX,所以无法回答这样的问题。然而,我认识一些选择这条路线的同事,看起来JavaFX主页可能会引导你找到相当不错的教程。 - Riduidel
1
我在问题中添加了一个JavaFX WebStart演示,链接为http://download.java.net/general/openjfx/demos/tutorial.jnlp。 - amirouche

7

1

仅使用Swing也可以创建出令人惊叹的UI。您可以在线探索各种插件和示例以添加各种功能。我建议您阅读Romain Guy的博客并阅读他的书Filthy Rich Clients。我发现这个博客非常酷。

Swing不会让您失望。


0

0

Swing的L&F可以帮助您解决这个问题。

传统的定制L&F的方法是为所有组件编写自己的UI类,这并不容易。

JRE5中包含了 Synth L& F,并在JRE6中变得成熟。使用Synth L&F,您可以使用图像和绘图类自定义自己的外观和感觉。您也可以查看基于Synth L&F的IDE for Synth based L&F


0

还可以查看我去年参加JFXStudio挑战的作品:

http://jfxstudio.wordpress.com/2009/11/10/challenge-five-winners/

这是一个非常简单的“视频扑克”游戏,只用了不到3,000个字符(即30行代码)编写。请注意,90%的图形元素都是图像,这给您提供了制作“性感”用户界面的想法。

我还要补充说,这个应用程序的主要元素是在一个晚上编写的。一旦您习惯了它,JavaFX是一个非常强大的UI创建工具。


做得很出色,感谢您的贡献。话说,代码在哪里?在JAR包里吗?我认为这是一个错误的部分,某种精英主义的体现。我对精英主义没有任何意见。现在把一个压缩文件放到网上并不难(参见http://dl.free.fr/),干杯。 - amirouche
不确定您所说的精英主义是什么意思 - 我在那个页面上的评论中提到了我提供代码的意图,尽管我还没有这样做(它需要从目前高度压缩的形式进行重写)。我仍然打算这样做。然而,其他人发布的链接足以为您提供足够的基础,以在JavaFX中编写类似的微不足道的应用程序。 - Matthew Hegarty
2
链接现在被标记为“私人链接”。我猜这意味着我不能再访问它了? - Burkhard

0

是的,您可以通过编写自己的CSS文件在JavaFX中实现这一点。了解更多信息,请访问:JavaFX CSS文档

如果您熟悉CSS,实际上并不难。


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