初始化的时候不要先把tree分别加入到两个页中先加入第一个页,然后在改变第一个页中的tree的事件体中  调用第一个页面的getComponents()方法造型成JTree类型,传给第一个页面这样每次对第一个页面中的tree进行改变,第二个页面中的树也随之改变

解决方案 »

  1.   

    java在JTabbedPane中有一个方法是切换tab的,好象是set什么的,好久没有用了,忘了,你试一试嘛
    还有你应该都使用接口,把你的两个panel连接起来,java中有此类的接口,你去看看嘛
      

  2.   

    用一个树就可以了,JTabbedPane选择事件里面显示那个页面就将树加到那个页面
      

  3.   

    jtabCur.addChangeListener(new SymChange());private class SymChange implements javax.swing.event.ChangeListener {
            public void stateChanged(javax.swing.event.ChangeEvent event) {
                Object object = event.getSource();
                if (object == jtabCur) jtabCur_stateChanged(event);
            }        void jtabCur_stateChanged(javax.swing.event.ChangeEvent event) {
                if (jtabCur.getSelectedIndex() == 0) jpanel1.add(tree);
                else jpanel2.add(tree);
            }
        }
      

  4.   

    但是我的每个tab页都是是split分页,split 的左边组件是tree,如何加入呢?谢谢
      

  5.   

    这两个Tree都共同使用一个model就可以了吧。
      

  6.   

    jtabCur.addChangeListener(new SymChange());private class SymChange implements javax.swing.event.ChangeListener {
            public void stateChanged(javax.swing.event.ChangeEvent event) {
                Object object = event.getSource();
                if (object == jtabCur) jtabCur_stateChanged(event);
            }        void jtabCur_stateChanged(javax.swing.event.ChangeEvent event) {
                if (jtabCur.getSelectedIndex() == 0) split1.setLeftComponent(tree);
                else split2.setLeftComponent(tree);
            }
        }