Java 尝试从paint()以外的方法打印文本
我创建了一个小程序,在其中我定义了一个方法,除了覆盖使用Graphics.drawString()方法在画布上显示文本的paint()方法之外。我遇到的问题是,我无法调用该方法。这是因为该方法将图形类对象作为参数,并且在调用该函数时无法将图形类对象作为参数传递。(callerMethod()在特定情况下被调用。)请参阅下面的代码和帮助。谢谢Java 尝试从paint()以外的方法打印文本,java,graphics,applet,Java,Graphics,Applet,我创建了一个小程序,在其中我定义了一个方法,除了覆盖使用Graphics.drawString()方法在画布上显示文本的paint()方法之外。我遇到的问题是,我无法调用该方法。这是因为该方法将图形类对象作为参数,并且在调用该函数时无法将图形类对象作为参数传递。(callerMethod()在特定情况下被调用。)请参阅下面的代码和帮助。谢谢 import java.applet.*; import java.awt.*; public class MyApplet extends Applet
import java.applet.*;
import java.awt.*;
public class MyApplet extends Applet {
@Override
public void init() {}
public void callerMethod() {
/*HERE I WANT TO CALL myPrintMethod()*/
myPrintMethod(GRAPHICS OBJECT);
}
public static void myPrintMethod(Graphics g) {
g.drawString("In method myPrintMethod",20,40);
}
@Override
public void paint(Graphics g) {
g.drawString("In method paint",20,20);
}
}
但是这个myPrintMethod()
应该在paint(.)之后调用
使用提供更高级功能的图形2D
Graphics2D g2d = (Grapics2D) g;
调用myPrintMethod()时应将图形对象作为实际参数传递。调用myPrintMethod时,可以将paint方法的图形对象g传递给myPrintMethod
public static void myPrintMethod(Graphics g){
g.drawString("myPrintMethod",20,40);
}
public void paint(Graphics g){
g.drawString("Paint method",20,20);
myPrintMethod(g);
}
这将提供以下输出:
Paint method
myPrintMethod
对不起,这不起作用。我确信调用callerMethod()本身没有缺陷。我不明白为什么我没有看到输出。
Paint method
myPrintMethod