我想将两个整数值从另一种方法传递给油漆(图形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中进行操作?