日期:2014-05-20  浏览次数:20687 次

动态添加一个组件,为什么不显示?
我向jpanel中动态添加一个jbutton,然后调用jpanel的validate方法,按照文档上的说法,当编辑容器的时候要调用这个方法,它会刷新容器,但事实上根本没变化,按钮显示不出来,只有调用repaint才行。为什么?

------解决方案--------------------
repaint刷新页面咯
------解决方案--------------------
因为jpanel需要知道新加的button的布局数据,所以jbutton加上了,但你看不到。

jpanel.doLayout(); //保证jpanel中的元素可以重新计算布局数据 layout data
jpanel.validate();