2010-07-01 66 views
3

我正在使用Swing编写游戏,并希望为GUI实现与众不同的“蒸汽朋克”灵感。这将需要一些动画组件,矮胖的金属边框等。自定义Swing外观和自定义组件?

我知道我可以通过重写paintComponent并在该方法中执行所有自定义轻量组件的渲染来获得很好的效果。

这是要走的路吗,还是我应该看看开发一种全新的可插式外观和感觉?

每个的优点/缺点是什么?

+0

请参阅[我的答案](http://stackoverflow.com/questions/3001765/custom-swing-component-questions-on-approach/3002414#3002414)几周前的几乎相同的问题。 – Kirill 2010-07-01 22:09:07

回答

4

就我个人而言,我认为你应该有一个全新的外观和感觉......你也可以把它建立在Synth L&F之外,而不是自己写所有东西。

Nimbus是写在Synth之上的L & F的一个例子。

+0

谢谢!这已经证明了很好的建议:我设法获得了Synth的定制版本,并在几个小时内渲染了一些闪亮的新组件。 – mikera 2010-07-01 22:44:45

+0

对于Synth LAF来说+1,这是一个很好的LAF(如果基本的Synth UI对象是公开的而且不友好的话,会更好)。 ** @ mikera **只是,如果您考虑了许多更改和大量使用的应用程序,最好不要使用xml配置和图像绘制,而是要在代码中实现自定义画笔和配置(请参阅java7中的Nimbus实现) 。吃的内存少得多,而且更易于管理。 – Taisin 2010-07-02 13:03:23

3

创建一个新的L & F是一条较长的道路,但保持简单的代码。 (如果您只需要进行一些更改,则不值得付出努力。)例如,可以在F部分对动画进行编码,因此您不必在组件中担心动画。我建议编辑一个接近你需要的L & F.