我将我的 JButton 设置为以下属性:-borderPainted 为 false-contentAreaFilled 为 false-边框为空-不透明为 false
点击按钮后,背景变黑或变黑,但是为什么,..有什么建议!?(谢谢)
我将我的 JButton 设置为以下属性:-borderPainted 为 false-contentAreaFilled 为 false-边框为空-不透明为 false
点击按钮后,背景变黑或变黑,但是为什么,..有什么建议!?(谢谢)
如果您想创建一个透明按钮,您只需要setContentAreaFilled(false)
,不要调用setOpaque
,请参阅javadoc(请注意,javadoc 中的最后一行建议因外观而异,。):
设置 contentAreaFilled 属性。如果为 true,则按钮将绘制内容区域。如果您希望有一个透明按钮,例如仅图标按钮,那么您应该将其设置为 false。 不要调用 setOpaque(false)。contentAreaFilled 属性的默认值为 true。
该函数可能会导致组件的 opaque 属性发生变化。
调用此函数的确切行为因组件和 L&F 的不同而异。
如果您“只想要”文本(没有边框),您可以调用setBorder(null)
.
...没有边框和背景(也没有“按下”背景)。在统一/ubuntu 的默认外观和感觉上进行了测试,例如MetalLookAndFeel
.
public static void main(String... args) {
JButton button = new JButton(new AbstractAction("Button") {
@Override
public void actionPerformed(ActionEvent arg0) {
// Printout to verify that the button was actually pressed
// since no visual output is shown... :)
System.out.println("Clicked");
}
});
button.setContentAreaFilled(false);
button.setBorder(null);
JFrame frame = new JFrame("Test");
frame.setLayout(new FlowLayout());
frame.add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 300);
frame.setVisible(true);
}