一直以来都不喜欢Java的GUI程序,界面丑陋,而且感觉功能也不强大,但是为了跨平台也没办法!

    今天在完成一个JDialog,界面中有删除按钮,用户点击后删除特定的组件。其实,自己Java Swing也是边学边用,搞了一下午,自己先使用removeAll()方法删除组件,然后实验了什么repaint()方法,validate()都不行。

    网上也没搜到资料,最终瞎折腾了一下午找到了方法,但是对于其中的原理还是不太清楚。

    其中代码如下,和简单的几句代码:

this.contentPanel.removeAll();
this.contentPanel.setVisible(false);
this.addComponent();
this.contentPanel.setVisible(true);

    addComponent()方法是我自己写的动态添加组件的方法。再使用removeAll()方法后必须调用setVisible()才行,要不然无法完成重新添加,具体原因我也不知道。

    写出来与大家分享,如果有类似问题的可以参考下!