我如何将参数传递到paint()中以绘制椭圆形



我想将两个整数值从另一种方法传递给油漆(图形G,int a,int b(

public void paint(Graphics g) { 
    
        g.drawLine(10, 330, 410, 330);
            g.drawLine(40, 30, 40, 360);
        
            for(int u=0;u<z;u++) {    
            g.drawOval(33, u+10, 20, 20);
            
        }
            
        }

但是,当我尝试传递值时,它不会在框架中显示任何内容。

我如何通过两个整数值以根据该数字绘制椭圆形,否则我不能覆盖油漆方法?

一些技巧会有所帮助。

是什么使在右画布上绘制的是您在绘制void中拥有的图形变量,您将无法将自己的变量添加到draw void中,而是您可以制作一个新的,从绘制void继承图形G变量,并使整数从呼叫。也许不理想,但会起作用。

例如
publicGraphics = g;

然后在您的新空隙内您可以这样做:

public void drawCustom(int x, int y){
    publicGraphics.drawRect(x, y, 50, 50);
}

或当然,您可以将要公开向前传播的变量,而不是在调用无效时传递它们,但这当然只适用于某些情况。

希望这会有所帮助

编辑:

这对我来说很完美:

    public Graphics publicGraphics;
 public void paint(Graphics g) {
     g.drawLine(10, 330, 410, 330); 
     g.drawLine(40, 30, 40, 360); 
     publicGraphics = g; 
     } 
 public void drawCustom(int p, int o, int z) { 
     for (int u = 0; u < z; u++) { 
         publicGraphics.drawOval(p, o, 50, 50); 
         } 
     }

然后您可以做drawCustom(50, 50, 70);

我不明白您为什么要做for循环,或者为什么您也尝试在油漆空隙和自定义绘制void中进行操作?

最新更新