Graphics g=new Panel().getGraphics();
对于这个式子,对于他的用法和用的地方不大清楚明白,哪位仁兄仁姐能帮忙给我解释一下吗?
public class HuaTu extends JFrame{
public HuaTu()
{
this.setBounds(100,100, 100, 100);
Container con=this.getContentPane();
con.add(new HuaBan2());
}
public static void main(String args[])
{
new HuaTu().show();
}
}
class HuaBan2 extends JPanel{
public HuaBan2()
{
Graphics g=this.getGraphics();
g.drawString("Ok", 10, 10);
}
}
提示信息: Exception in thread "main" java.lang.NullPointerException
at shujuku.HuaBan2.<init>(HuaTu.java:20)
at shujuku.HuaTu.<init>(HuaTu.java:9)
at shujuku.HuaTu.main(HuaTu.java:13)
------解决方案--------------------
- Java code
public class HuaTu extends JFrame { public HuaTu() { this.setBounds(100, 100, 100, 100); Container con = this.getContentPane(); con.add(new HuaBan2()); } public static void main(String args[]) { new HuaTu().show(); }}class HuaBan2 extends JPanel { public HuaBan2() {// Graphics g = this.getGraphics();// g.drawString("Ok", 10, 10); } public void paint(Graphics g){ super.paint(g);//你去看看里面做了什么 g.drawString("Ok", 10, 10); }}
------解决方案--------------------
Graphics g=new Panel().getGraphics();
只知道是获取画板o_O..
其余不懂..
------解决方案--------------------
graphics是java2d里面负责“画画”的对象,
从它的那些方法就可以看出这一点,
getGraphics的目的也就是取得描画这个控件的graphics,
用vc的话就是句柄handler的意思了
然后就可以直接用这个对象来画这个对象。
1楼的例子里面的paint方法参数和楼主例子里面的,
还有canvas
都是底层框架提供这个graphic的对象,然后我们可以用这个graphics来“画”
good luck