jPaneluser = new JPanel();
jPaneluser.setLayout(new BorderLayout());
ContentPane.add(jPaneluser, BorderLayout.WEST);//1.1 north user query panel
jPaneluserquery = new JPanel();
jPaneluserquery.setLayout(new BorderLayout());
hboxuserquery = Box.createHorizontalBox();
jLabelusername = new JLabel();
jTextusername = new JTextField();
jTextusername.addKeyListener(new java.awt.event.KeyAdapter() {
      public void keyTyped(java.awt.event.KeyEvent e) {
JTextField textfield=(JTextField)e.getSource();
if (e.getKeyChar()=='\n'){
System.out.println("keyTyped()"+e.getKeyChar());
         System.out.println("text:"+textfield.getText()+":text");
selectNode(textfield.getText());
      }
}
});
jLabelusername.setText("username");
jTextusername.setText("");hboxuserquery.add(jLabelusername);
hboxuserquery.add(jTextusername);
jPaneluserquery.add(hboxuserquery, BorderLayout.CENTER);
jPaneluser.add(jPaneluserquery, BorderLayout.NORTH);//1.2 center user tree panel
jPaneluserstrut = new JPanel();
jPaneluserstrut.setLayout(new BorderLayout());
jScrollPanestrut = new JScrollPane();
jTreestrut=getJTree();
jTreestrut.addTreeSelectionListener(new javax.swing.event.TreeSelectionListener() {
    public void valueChanged(javax.swing.event.TreeSelectionEvent evt) {
      jTreestrutValueChanged(evt);
    }
});
   
jScrollPanestrut.getViewport().add(jTreestrut);
jPaneluserstrut.add(jScrollPanestrut, BorderLayout.CENTER);
jPaneluser.add(jPaneluserstrut, BorderLayout.CENTER);
JPanel panelbonus=new JPanel();
panelbonus.setLayout(new BorderLayout());
jContentPane.add(panelbonus,BorderLayout.CENTER);

我贴了一段代码,其中左边是树型,右边是查询JComboBox和Table 
比如我的树型有10层,我点击左边paneluser的树就查询table的内容
我的树展开到6层,左边的JPanel就出现横向滚动条,此时正常。
但是当我改变右边的JComboBox内容时(主要是内容长度改变)
我左边的JPanel就扩大到树型展开六层显示的大小,滚动条消失了这样如果我的树是很多层,我右边的table就没法显示了。请教我如何固定左边的JPanel大小?