以下程序运行报空指针异常,在线等正解,请高手赐教,代码如下:
import java.awt.*;public class first_class { static Graphics g = null; public void paint(Graphics page) {
g = page;
try {
page.drawRect(50, 50, 40, 40);
page.drawRect(60, 80, 225, 30);
page.drawOval(75, 65, 20, 20);
page.drawLine(35, 60, 100, 120);
page.drawString("My Note Book... ", 110, 70);
page.drawString("--szk", 130, 100);
} catch (Exception e) {
System.out.println(e);
}
} public static void main(String[] args) {
first_class fc = new first_class();
fc.paint(g);
}}
import java.awt.*;public class first_class { static Graphics g = null; public void paint(Graphics page) {
g = page;
try {
page.drawRect(50, 50, 40, 40);
page.drawRect(60, 80, 225, 30);
page.drawOval(75, 65, 20, 20);
page.drawLine(35, 60, 100, 120);
page.drawString("My Note Book... ", 110, 70);
page.drawString("--szk", 130, 100);
} catch (Exception e) {
System.out.println(e);
}
} public static void main(String[] args) {
first_class fc = new first_class();
fc.paint(g);
}}
first_class fc = new first_class();
fc.paint(g);
这时g不还是为nullGraphics是图所对应的,没图哪来的Graphics对象
建议楼主看看与java.awt.*有关的部分。对你编写的类,初始化g=null,然后将其传入paint方法,当然会出现空指针的
import java.applet.*;public class Demos extends Applet {
public void paint(Graphics page) {
page.drawRect(50, 50, 40, 40);
page.drawRect(60, 80, 225, 30);
page.drawOval(75, 65, 20, 20);
page.drawLine(35, 60, 100, 120);
page.drawString("My Note Book... ", 110, 70);
page.drawString("--szk", 130, 100);
}
}
可以在一个Panel上画,就可以取得对应Panel的Graphics