应该能,因为每个JComponent都是一个容器

解决方案 »

  1.   

    这个有点困难。不过我觉得你的这种需求可以用另外一种方法实现。你可以自己写一个类,从JWindow继承。然后把tree放在window里面,然后模拟JComboBox的操作和外观。我当时做过一个日期选择器,就是跟vc,delphi那些的里面的那种。。就是这种思路哦。
      

  2.   

    我刚刚试过了,不可以直接添加Tree对象。可以考虑继承,向上面说的可以模仿JComboBox操作和外观。
      

  3.   

    import java.awt.* ;
    import javax.swing.* ;
    public class TreeComboBox extends JComboBox{
    TreeComboBoxModel model=new TreeComboBoxModel() ;
    TreeComboBoxRenderer renderer=new TreeComboBoxRenderer() ; public TreeComboBox(){
    this.setModel(model) ;
    this.setRenderer(renderer) ;
    ......
    }

    class TreeComboBoxModel extends DefaultComboBoxModel{
    public TreeComboBoxModel(){
    }
    } class TreeComboBoxRenderer extends JScrollPane implements ListCellRenderer{
    public TreeComboBoxRenderer(){
    //setOpaque(true) ;
    } public Component getListCellRendererComponent(JList list,Object object,int index,
    boolean isSelected,boolean cellHasFocus){
    add((JTree)object,BorderLayout.CENTER);
    return this;

    }

    }
    把你構造JComboBox的語句加在......處即可.
      

  4.   

    樓主,你弄好了沒,我這裡沒有java環境,只是按我的想像寫的,應該問題不大,
    你試試,不行的話我再查查錯.