如何在小程序外部paint()方法中打印
Posted
技术标签:
【中文标题】如何在小程序外部paint()方法中打印【英文标题】:How to print in applet outside paint() method 【发布时间】:2016-06-02 19:40:47 【问题描述】:我一直在尝试以 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);
【问题讨论】:
1) 为什么要编写小程序?如果是老师指定的,请参考Why CS teachers should stop teaching Java applets。 2) 为什么使用 AWT?请参阅this answer 了解放弃 AWT 使用支持 Swing 的组件的许多充分理由。 嗯,我是applet 的新手,而AWT 是迄今为止我学到的关于图形操作的唯一东西。我已经做了一年了。 您将在 Swing 和桌面应用程序上获得更好的帮助和更好的答案。 我相信我会的。我希望尽快开始使用 Swing。谢谢。 :) 【参考方案1】:AWT 没有“全局图形对象”的概念。您必须传递您的绘制方法接收到的 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);
【讨论】:
感谢您再次解决我的问题。 :)以上是关于如何在小程序外部paint()方法中打印的主要内容,如果未能解决你的问题,请参考以下文章