所以我尝试了 java.awt.Graphics 库并在我的代码中遇到了一个问题。下面的代码返回空指针异常,因为在执行时未定义 Graphics 对象“g”。我可以循环调用并检查 g != null 但是否有更好的方法来执行此操作?
谢谢你的帮助。
这是我的代码:
package gui;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
@SuppressWarnings("serial")
public class Gui extends JPanel{
Graphics g;
public Gui()
{
JFrame frame = new JFrame("test");
frame.setSize(700, 700);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.add(this);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
this.g = g;
g.setColor(Color.blue);
for(int x = 0;x < 700; x += 20)
{
g.drawLine(x, 0, x, 700);
}
for(int y = 0;y < 700; y += 20)
{
g.drawLine(0, y, 700, y);
}
}
public void draw(Tuple xy)
{
g.setColor(Color.blue); // <--- null pointer exception
g.fillOval(xy.x, xy.y, 5, 5);
}
}
和主要课程:
package gui;
public class Main {
public static void main(String[] args)
{
new Gui().draw(new Tuple(200,200)); //Tuple is a custom class I wrote
}
}
qq_花开花谢_0
当年话下
慕婉清6462132
相关分类