使用Nimbus外观时,我无法创建具有特定属性的Button。
首先,我使用这个类在JTable的某些列中实现Button。 https://tips4java.wordpress.com/2009/07/12/table-button-column/
最后两列是空的JButtons
如果我尝试在构造函数中设置此属性,则根本不会进行任何更改:
renderButton.setBorder(BorderFactory.createEmptyBorder());
renderButton.setOpaque(false);
renderButton.setBorderPainted(false);
所以我保留了我的研究,我发现我应该这样做,因为Nimbus忽略了那些属性。我的下一次尝试:
UIDefaults def = new UIDefaults();
/*Properties Here*/
renderButton.putClientProperty("Nimbus.Overrides", def);
renderButton.putClientProperty("Nimbus.Overrides.InheritDefaults", true);
所以我尝试了一些,但我真的不知道我应该使用什么名字:
def.put("Button.border", BorderFactory.createEmptyBorder());
def.put("Button.borderPainted", false);
def.put("Button.background", Color.BLUE);
背景一个是唯一一个适合我的,但我不希望这样,我希望那些删除边框。
最后一件事,通过这样做(设置最后为假)并且只有这个:
UIDefaults def = new UIDefaults();
renderButton.putClientProperty("Nimbus.Overrides", def);
renderButton.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
我没有边界,但我确实输了最后的背景(JTable剥离了一个):
如你所见,我计划事后使用图像。我更喜欢这个,但更愿意保留背景。
顺便说一句,也许我不应该这样做,问题出在其他地方。 谢谢你的帮助答案 0 :(得分:0)
图像摆脱背景的答案。尝试编辑图片文件并删除所有不属于图片所属对象的白色。然后背景应该与图片一起显示。