Java:你如何设置Swing组件的样式?

时间:2009-01-11 12:17:55

标签: java user-interface swing

我正在编写我的第一个Java项目。

我想知道是否可以设置Swing组件的样式(设置背景颜色,从按钮中删除边框等)。

5 个答案:

答案 0 :(得分:5)

如果它只是更改字体,背景,边框等简单。摆动可以默认执行所有这些操作。即对于JButton:

JButton aButton ...
aButton.setBackground(new Color(...));  
aButton.setForeground(new Color(...));  
aButton.setFont(new Font(...));  
aButton.setBorder(null);  

JComponent查看大多数这些方法。或者,对于更多特定于组件的方法,在组件的javadoc。

我建议您阅读The Java TutorialJComponent API中的一些基础知识,甚至是Filthy Rich ClientsJava HowTo Program这样的书。

自定义外观会有点过分。我建议首先看看上述解决方案是否符合您的需求,然后再去做。

答案 1 :(得分:3)

当然可以进行重要的自定义,因为这是不同的外观和感觉选项。

你可以看一下pluggable look and feel architecture,虽然这可能对你想要的东西有些过分。

或者你可以继承现有组件的子类并使用/覆盖它们现有的方法,如果它只是你需要的小调整。

答案 2 :(得分:3)

有一些开源项目允许您使用类似CSS的格式设置Swing组件的样式。

您应该查看Java CSS项目。它是在this blog post中引入的。

答案 3 :(得分:1)

对于应用程序范围的更改,创建(或扩展)您自己的pluggable look and feel可能是正确的解决方案。对于特殊效果,您还应该查看painters framework。请注意,它们是swingx的一部分,而不是核心Swing。

答案 4 :(得分:0)

如果您想要对组件进行大量设计,那么获得第三方外观并使用它可能是您的最佳选择。我个人最喜欢的是Substance,它甚至还有一个用于在Substance上创建完全自定义LAF的API。