【问题标题】:Using Graphics object outside of the paint() method for a fractal java在分形 java 的 paint() 方法之外使用 Graphics 对象
【发布时间】:2014-01-28 16:22:04
【问题描述】:

我正在尝试绘制分形树,目前我的设计从其他人的工作中得到了启发,正在使用 paint() 方法之外的图形对象进行递归。这会产生什么结果吗?

【问题讨论】:

  • 你对“外在”的定义是什么?
  • @SargeBorsch 在外面,因为我将它作为参数传递给树绘制方法。
  • @ZhehaoChen 如果您对它的引用的生命周期没有超过从 paint() 方法返回,那么它并不是真正的“外部”,这不是一种特殊的类型。

标签: java graphics paint


【解决方案1】:

您可以从 BufferedImage 获取 Graphics 对象(甚至是支持数组)并在其上进行绘制,然后在 paintComponent() 中您可以只绘制图像。

【讨论】:

    【解决方案2】:

    您需要将Graphics 上下文作为参数传递给您的drawMethod(Graphics g),然后调用paint 方法drawMethod(g);, gGraphics 的上下文 paint 方法

    public class SomeClass {
        public void drawMethod(Graphics g) {
            g.drawString("Hello World", 50, 50);
        }
    }
    
    public class DrawPanel extends JPanel {
        SomeClass someClass = new SomeClass();
    
        @Override
        protected void paintComponent(Graphics g) {
            super.paintComponent(g);
    
            someClass.drawMethod(g);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-11-29
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 2012-06-25
      • 2021-03-30
      • 2017-08-14
      相关资源
      最近更新 更多