因为在你的class gg里面,根本就没有对Graphics g实例化,所以肯定会跑出空指针
方案一:
import java.awt.*;
import java.awt.event.*;class test7 extends Frame {
public gg g1=new gg();
public test7() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
} public static void main(String args[]) {
System.out.println("Starting Test...");
test7 mainFrame = new test7();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Test");
mainFrame.setVisible(true);
} public void paint(Graphics g)
{
// g=g1.g;
g1.d(g);
} public class gg
{
// public Graphics g;
public void d(Graphics g)
{
g.drawLine(10,10,90,90);
}
}
}
方案一:
import java.awt.*;
import java.awt.event.*;class test7 extends Frame {
public gg g1=new gg();
public test7() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
} public static void main(String args[]) {
System.out.println("Starting Test...");
test7 mainFrame = new test7();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Test");
mainFrame.setVisible(true);
} public void paint(Graphics g)
{
// g=g1.g;
g1.d(g);
} public class gg
{
// public Graphics g;
public void d(Graphics g)
{
g.drawLine(10,10,90,90);
}
}
}
我觉得你的用意是不是应该是把
g=g1.g;
改成
gl.g=g;