好像没有
可以通过获取comboBox中text的长度来定义comboBox的宽度
这个事件需要在OnChange里触发
例:
ComboBox1 -> Width = ComboBox1 -> Text.Length() + faultWidth
注:faultWidth为自定义的一个初始长度

解决方案 »

  1.   

    setMaximumRowCount
    这个是设置comboBox的最大记录数
    和问题无关
      

  2.   

    难道没有解决的办法吗?JList就可以啊,为什么JComboBox就不可以呢
      

  3.   

    很简单,把ComboBox放在一个Jpanel里面,设成"Center",JAVA中多用面板,布局管理器,将会得到你想要的样子
      

  4.   

    能不能说说如何使用GridBagLayout,谢谢
      

  5.   

    用多面板技术是可以达到GridBagLayout(网格组布局)效果的,而且降低了技术难度。
    GridBagLayout使用方法:
    (1)创建一个GridBagLayout对象并设为组件的布局管理器。
    (2)创建GridBagConstrains对象。它用于指定如何布局。
    (3)用组件填充GridBagConstrains。
    (4)用add(component,constrains);添加组件和约束。
    GridBagConstrains的参数很多,具体的看帮助。
      

  6.   

    JPanel panel=new JPanel(new GridBagLayout());
    GridBagConstraints gbc=new GridBagConstraints();
    gbc.gridwidth=1;
    gbc.gridheight=1;
    gbc.gridx=0; // 定义横坐标位置(大约值)
    gbc.gridy=0; // 定义纵坐标位置(大约值)
    gbc.fill=GridBagConstraints.HORIZONTAL; // 表示让组件横向填充
                                            // BOTH: 横纵双向填充
                                            // NONE: 双向不填充
                                            // VERTICAL: 纵向填充gbc.weightx=0.0; // 0.0 表示组建将不随窗体变化而变化
    gbc.weighty=0.0;panel.add(new JButton("Button 1"), gbc); // 注意gbc不要忘记gbc.gridx++;
    // gbc.gridy++; or gbc.gridy=1; // 自己试试吧...
    // gbc.gridwidth=2;
    gbc.weightx=1.0;
    panel.add(new JButton("Button 2"), gbc);以上仅供参考.