我正在编写我的第一个Java项目。
我想知道是否可以设置Swing组件的样式(设置背景颜色,从按钮中删除边框等)。
答案 0 :(得分:5)
如果它只是更改字体,背景,边框等简单。摆动可以默认执行所有这些操作。即对于JButton:
JButton aButton ...
aButton.setBackground(new Color(...));
aButton.setForeground(new Color(...));
aButton.setFont(new Font(...));
aButton.setBorder(null);
在JComponent查看大多数这些方法。或者,对于更多特定于组件的方法,在组件的javadoc。
我建议您阅读The Java Tutorial或JComponent API中的一些基础知识,甚至是Filthy Rich Clients或Java 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。