蔡鸟问题,怎么在一个Panel上画图,一条线就行

yukia 2003-09-22 02:38:19
一个同学说:
public class ActiveCanvas extends JPanel{
public ActiveCanvas() {
}
public void paint(Graphics g){
g.drawLine(10,10,100,100);
}
}
我试了试,还是不会!我知道这是对的。但是初学,没接触过。
我试着在他的下面写
void button1_actionPerformed(ActionEvent e) {
Graphics g;
ActiveCanvas canvas1;
canvas1.paint(g);
}
编译不过,提示canvas1和g可能没有初始化!
怎么初始化呀?求救,刚开始学,请讲得细一点,谢谢!
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yukia 2003-09-22
  • 打赏
  • 举报
回复
oh,谢谢,这个解决了,编译通过!
可还是不能在我指定的panel上画
怎么指向我的panel
java.lang.NullPointerException

at eidtor.Frame1$ActiveCanvas.paint(Frame1.java:116)

at eidtor.Frame1.button1_actionPerformed(Frame1.java:124)

at eidtor.Frame1_button1_actionAdapter.actionPerformed(Frame1.java:158)

at java.awt.Button.processActionEvent(Button.java:381)

at java.awt.Button.processEvent(Button.java:350)

at java.awt.Component.dispatchEventImpl(Component.java:3639)

at java.awt.Component.dispatchEvent(Component.java:3480)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:450)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:197)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:144)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:136)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:99)

wchq1998 2003-09-22
  • 打赏
  • 举报
回复
ActiveCanvas canvas1;//应在Jinit方法中定义和声明和初始化
//ActiveCanvas canvas1= new ActiveCanvas();


void button1_actionPerformed(ActionEvent e) {
Graphics g;
g=canvas1.getGraphics();//获得canvas1的图形句柄
g.drawLine(10,10,100,100);

}

51,407

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧