在swt中,容器中的composite只需要声明出来,就能够自动刷新(父容器中刷新为新的composite),现在改为在swing中,我想实现的功能就是在一个JPanel中通过JMenuItem在该JPanel中显示其他的、不同的JPanel。
  
  请问,有没有比较方便的方法啊,多谢各位了~~

解决方案 »

  1.   

    setVisible(true);方法显示(true)或隐藏控件、容器(false)
    lblone.setVisible(false);//让标签lblone隐藏
    有一个类Testone继承JFrame,它的对象是objone, 让Testone显示:
    objone..setBounds(300, 300, 360, 100);//或setSize(12,21);
    objone.setVisible(true);
      

  2.   

    我用的CardLayoutprotected void buildComponents() {
    panelCard = new JPanel();
    panelCard.setLayout(new CardLayout()); userManPanel = new UserManPanel(parent, net);
    panelCard.add(USER_PANEL, userManPanel);
        // ...
    add(panelCard);
    }
    // 要表示UserPanel时:
    CardLayout layout = (CardLayout)panelCard.getLayout();
    layout.show(panelCard, USER_PANEL);
      

  3.   

       我用了panel.updataUI();也实现了。。和用cardlayout哪个更好啊?
      

  4.   

    都可以.
    如果panel经常切换CardLayout比较好
    否则就更换panel再刷新