【发布时间】:2011-06-03 22:01:00
【问题描述】:
super.paintComponent(g) 在这个示例代码中的作用是什么?
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.GRAY);
g.fillRect(gridX * 50, gridY * 50, 50, 50);
for (int i = 0;i < 10; i++) {
for (int j = 0;j < 10; j++) {
if (savedTiles[i][j])
g.fillRect(i * 50, j * 50, 50, 50);
}
}
}
【问题讨论】:
-
它确保父组件首先绘制
-
yuz 能把完整的课放在这里吗?超级是download.oracle.com/javase/tutorial/java/IandI/super.html ...
-
@Kaj,它与“父母”无关。在添加自定义之前,它首先调用组件的默认功能。在这种情况下,我猜想 JPanel 正在被覆盖,在这种情况下,它会使用默认功能来绘制组件的背景。完成后,自定义代码会在背景顶部绘制矩形。
-
好的,我同意它可能会被误解。我不是在谈论布局和组件层次结构,对我来说,他扩展的面板是父级(即超级)
-
(就是我说的继承层次)
标签: java swing paintcomponent