当前位置: 技术问答>java相关
********关于Swing的绘制问题,拜托各位了,我只能给116:)
来源: 互联网 发布时间:2015-03-10
本文导语: 谁能讲讲Swing容器调用removeAll()后,再调用add(),这中间的道理,这中间的代码正确的该怎么写?这种程序我虽然做过几次了,但由于对中间的原理不太清楚,每次都是在中间胡乱调用一通,比如先用了removeAll(),再用add...
谁能讲讲Swing容器调用removeAll()后,再调用add(),这中间的道理,这中间的代码正确的该怎么写?这种程序我虽然做过几次了,但由于对中间的原理不太清楚,每次都是在中间胡乱调用一通,比如先用了removeAll(),再用add(),再用validate(),有时又加个
repaint();这样效果才可以出来。但是我研究过JDK的SwingSet2的原代码,它的代码是先
removeAll(),再add()就可以了,但是我试过,如果只写这两个方法,就要拖动或改变窗口大小或最大(小)化才可以看到效果。谁能讲讲这中间的道理啊,到底正规的写法该是如何,让小弟以后不在含糊,感激不尽。。。。。。。
repaint();这样效果才可以出来。但是我研究过JDK的SwingSet2的原代码,它的代码是先
removeAll(),再add()就可以了,但是我试过,如果只写这两个方法,就要拖动或改变窗口大小或最大(小)化才可以看到效果。谁能讲讲这中间的道理啊,到底正规的写法该是如何,让小弟以后不在含糊,感激不尽。。。。。。。
|
I can just give some thought here. Not sure it is right.
When a container is up, it will automatically call all component's repaint(), so normally all you need to do is to add components to a container, then call container's owner (a frame or something else) show().
However, if the owner is already showing, and you want to add new component to the container, then you need to repaint.
When a container is up, it will automatically call all component's repaint(), so normally all you need to do is to add components to a container, then call container's owner (a frame or something else) show().
However, if the owner is already showing, and you want to add new component to the container, then you need to repaint.
|
老大我的jcomponent.revalidate()就是正轨了,你还想怎样。这个方法是sun弥补你遇到情况的举措。
|
我也是要repaint(),再validate();
|
g z
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。