我一直试图在 paint()以外的方法中使用 Graphics 类的 drawString()函数进行打印。我已经尝试过这个程序,它是早期疑问的解决方案,但是这段代码不起作用。请找我的缺点。谢谢。 以下是:
import java.awt.*;
import java.applet.*;
public class PaintIssue extends Applet {
Graphics gg; //global Graphics object
@Override
public void init() {}
@Override
public void paint(Graphics g) {
g.drawString("Output of paint method",20,20);
myMethod(); //calling myMethod
}
public static void myMethod() {
gg.drawString("Output of myMethod",20,40);
}
}
答案 0 :(得分:1)
AWT没有“全局图形对象”的概念。您必须传递paint方法接收的Graphics对象。
@Override
public void paint(Graphics g) {
g.drawString("Output of paint method",20,20);
myMethod(g); //calling myMethod
}
public static void myMethod(Graphics g) {
g.drawString("Output of myMethod",20,40);
}