您的位置:程序门 -> java -> gui 设计



关于画图的几个问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于画图的几个问题[已结贴,结贴人:z9780420]
发表于:2008-01-11 18:57:03 楼主
1。除了可以在jpanel上画图,那能不能在jscrollpane上画,我试了一下,无显示,为什么?
2。在jpanel里用public   void   paintcomponent(graphics   g)方法可以自动画图,那我如果想在别的方法里对jpanel画怎么办?比如我在jframe里加入一个菜单栏,又加一个jpanel,我想通过对菜单栏的一个菜单点击以后的在actionperformed方法里画怎么办?请指教,谢谢!
发表于:2008-01-11 19:08:551楼 得分:0
1.在jscrollpane上再添加jpanel
2.在paintcomponent方法里预设条件选择分支语句   通过响应方法设定相应条件来触发
发表于:2008-01-11 21:15:282楼 得分:0
1.在jscrollpane上再添加jpanel  
    我是这么做了,但是jscrollpane加上jpanel画图以后,滚动条不能出现,不知道怎么搞的。
2.在paintcomponent方法里预设条件选择分支语句       通过响应方法设定相应条件来触发
    这个能不能举个例子,具体点???
发表于:2008-01-11 22:12:153楼 得分:50
只要panel存在,就可以用panel.getgraphics()方法取得设备上下文,然后在上面画。不是必须在paintcomponent中,如:

java code
menuitem.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { panel.getgraphics.drawline(10,10,100,100); } });
发表于:2008-01-13 21:24:394楼 得分:0
关注
发表于:2008-01-13 22:29:055楼 得分:90
java code
public void paintcomponent(graphics g) { super.paintcomponent(g); if (paintwhat == 0) { g.drawstring("now paintwhat is 0", message_x, message_y); } else if (paintwhat == 1) { g.drawstring("now paintwhat is 1", message_x, message_y); } }


java code
public void actionperformed(actionevent e) { panel.setpaintwhat(1); panel.update(panel.getgraphics()); }
发表于:2008-01-14 14:50:506楼 得分:0
感谢大家的帮助。
郁闷中~努力:您解决了我的直接问题,给90分;
一年前的新手:您给了一些知识,给50分;


快速检索

最新资讯
热门点击