我正在开发一个“paint-like”应用程序(一个小绘图软件)来熟悉Java 2D组件。我有一个JFrame,它的ContentPane是继承自JPanel的类的示例。我想将背景颜色设置为白色,但它仍保持其默认颜色... ContentPane对应的类名是Container。下面是一个简化的代码:
public class Container extends JPanel {
public Container() {
super();
this.setBackground(Color.WHITE);
}
}
JFrame构造函数包含以下行:
this.setContentPane(mainContainer);
我错过什么了吗?
谢谢
4条答案
按热度按时间chhkpiq41#
这个可以解决
7d7tgy0s2#
对于某些组件,默认情况下背景是关闭的。背景颜色仅应用于不透明的小部件。为小部件层次结构中应绘制其背景的所有组件调用以下方法:
pinkon5k3#
我也有这个问题,只有这样才能解决,这正是OP的建议。
示例类的完整代码在这里(只是为了显示我试图放置/设置setBackground()的位置;
eyh26e7m4#
你需要在覆盖函数中包含超级函数。IE