JAVA 为什么在有时在JPanel窗口里添加图形后 运行时需要下拉下窗口(随意动下) 图形才显示出来?

如题

拉下窗口Java界面上会从最外层JFrame开始,对其重新渲染,以及对children列表也重新渲染,如此递归。

你这个其实图形已经加进去了!只是,你是在GUI渲染之后,才加入进去的(你拉一下窗口,resize,触发了gui的重新渲染动作),你需要在渲染之前加入,或者你在加入图形之后repaint一下。

不过不建议上述那么做,在JPanel中加入图形,你是覆盖的paint方法么?假如是的话,那你最好是去覆盖paintComponent(Graphics g)方法,用g.drawImage去画出图形,这样才会正常。

几年没整GUI了,上面说的应该是正确的,具体是怎么回事,贴代码上来才能更好的解答~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-04-10
添加了图形,然而没有触发paint,所有并没有实际绘制。
添加图形后,应该调用一次repaint()就能重绘了。
第2个回答  2020-02-11
你可以把设置窗体可见的代码放到最下边,我刚刚就和你一样的问题,现在好了。
第3个回答  2014-06-08
你没有重画页面?好像是replay()吧,具体记不清了
第4个回答  2014-06-08
图形的起始位置不在你窗口的初始位置上吧追问

什么意思呢? 在添加图形的时候我并没有改变其坐标 如果不是添加在panel 而是添加在frame上 就不会出现这种情况

追答

恩。。有代码贴出来吗?

追问

超出字数 可以加下我QQ吗? 1165131123

相似回答