Java怎么样能清空一个JFrame面板里的所有组件?
JAVA中遇到一个问题,哪位大哥能指点下,谢了!具体问题是这样的。。我是在一个JFramel面板里面,那些JFramel里组件原来添加的没法清除,而是把新添加的JText...
JAVA中遇到一个问题,哪位大哥能指点下,谢了!具体问题是这样的。。我是在一个JFramel面板里面,那些JFramel里组件原来添加的没法清除,而是把新添加的JTextField等又挤进去。。。remove()和removeAll()的方法我都试过了 貌似没有用处。。JFrame.removedAll()我是添加到每个按钮监控实现里面的。。哪位高手指点下,谢谢!请说的详细点
展开
1个回答
展开全部
有没有异常出现,对于你捕到的所有异常,在你找到原因之前都要打印到日志里先分析一下怎么处理。
更多追问追答
追问
removeALL()方法清空布局上的组件 但是不能添加组件了 有什么办法可以继续添加呢
追答
记得 JFrame 的孩子节点是在 frame.getContentPane() 上面,所以添加和删除是 frame.getContentPane().remove(...) 而不是 frame.remove(...);
当我们删除一个组件时,要确认你的那参数对象确实是以前那个,不要把自己的刚 new 出来的东西当成参数需要操作。
添加不就是 frame.getContentPane().add(...) 么?
下面这个文章提到了,revalidate 是提示 Swing 原来的组件布局已经变了,特别是当有组件被删除的时候,需要重新计算所有孩子组件的布局,repaint 则重绘图形区域。
http://stackoverflow.com/questions/1097366/java-swing-revalidate-vs-repaint
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询