【问题标题】:paintComponent question油漆组件问题
【发布时间】: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


【解决方案1】:
【解决方案2】:

这取决于您从哪个超类覆盖paintComponent-方法。但作为答案,它的目的是在运行覆盖之前调用同一方法的超类版本。

【讨论】:

    猜你喜欢
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多