我的JFrame里面定义了两个JPanel
一个是一个由一个线程一直重画的,一个就是静静的呆那的,刚开始的时候不创建这两个JPanel
在点击菜单栏的里面的事件里创建,并设置了布局,问题是那个一直重画的JPanel出来了,而那个呆那的没出来
我以为是JPanel重画的原因,所以在创建并加入那个呆那的JPanel后我就手动的repaint()了一下,但是还是一样的没效果(JFrame重绘也是试过,一样)更奇怪的是,在我放大了窗口,那个一直重画的JPanel反而不见了,那个呆那的出来了...缩回去也没用...超郁闷还有如果设了JFrame的布局为null的话,那个呆那的JPanel就一直出不来,那个一直重画的出来了...----对了,那个一直呆那的JPanel是用netbeans的可视化界面做的,那个一直重画的是手写的---难道是用可视化的问题?
这问题弄的一晚上没弄好,各位帮帮忙啊~~先谢过

解决方案 »

  1.   

    创建新物件并要显示的时候必须在这个物件的上一级物件上调用 validate()这个方法。你放大窗口会自动调用validate(),所以那个呆在那的就显示出来了。一直画那个为什么会消失我不清楚,看看是不是你的线程有问题。但绝对不推荐一直画JPanel,会很耗系统资源。你用repaint()肯定没有,因为repaint()是当有物件被删除后刷新界面用的,用validate()