小弟正在做一个动态显示的程序。当有新的元素被加入进一个SET中,同时会CALL frame.getContentPane().add(vv) 这个方法。VV为新加入的内容。现在的问题是,ContentPane中的内容会维持在初始化状态不会改变,只有当来回点击这个frame窗口时,才能显示更新的图像。我想是因为没有刷新的问题,但是查了API文档之后好像没有相应的方法。请教各位如何能让ContentPane中的内容能动态显示出来。不需要手工干预。

解决方案 »

  1.   

    frame.getContentPane() 实际上返回一个JPanel,转型后调用revalidate()。
      

  2.   

    说一下个人的见解吧啊。如果想刷新界面。刷新contentpane是不行的。思路该这样来,你新建一个jpanel,把需要刷新的内容放在里边,每次需要更新JPanel的时候,就调用janel.doLayout();或者revalidate()。
      

  3.   

    现已按照上面兄弟所讲的方法把需要刷新的内容加入到Jpanel, jpanel.add(frame.getContentPane().add(vv));然后在下面调用jpanel.revalidate(),过程如下:// 该方法用作显示内容和内容刷新
    public void newInfo(){
    jpanel.add(frame.getContentPane().add(vv));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    frame.setVisible(true);
    jpanel.revalidate();
    }但现在的问题在于显示不出任何信息了,请问还需要添加些什么呢??