A类主要包含class A {
  String name;
  String getName() {return name;}
  void setName(String name) {this.name = name;}
  String toString() {
    return getName();
  }
}继承的子类利用了父类的toString()方法,这样JComboBox显示的下拉列表就是每个类的名字。

解决方案 »

  1.   


    还有一些其他的方法,但是和JComboBox无关啊,而且不要太多哦。
    对了 class A implements java.io.ExternalSerializable
      

  2.   

    用DefaultComboBoxModel实现数据管理
      

  3.   

    兄弟,因为A extends JComponent,而JComboBox的下拉框内容只支持Vector和Object两种对象,所以你必须的重新设置JComboBox的列表模型,即ComboBoxModel,也就是说需要重写ComboBoxModel,然后进行设置,不知道你听明白了没有:
    class model extends ComboBoxModel{
        ......
    }
    class A extends JComponent{
    ......}
    class A1 extends A{}
    class A2 extends A{}
    class A3 extends A{}
    JComboBox jcb=new JComboBox();
    jcb.addItem(A1);
    jcb.addItem(A2);
    jcb.addItem(A3);
    jcb.setModel(model);
    OK?
      

  4.   

    不对,应该将ComboBoxModel改为DefaultComboBoxModel
      

  5.   

    我查看了一下jdk的源代码,其中关于JComboBox的关键部分如下:
    public class JComboBox extends JComponent {
      protected ComboBoxModel    dataModel;
      public JComboBox(ComboBoxModel aModel) {
            super();
            setModel(aModel);
            init();
        }
        /**
         * Creates a <code>JComboBox</code> with a default data model.
         * The default data model is an empty list of objects.
         * Use <code>addItem</code> to add items.  By default the first item
         * in the data model becomes selected.
         *
         * @see DefaultComboBoxModel
         */
        public JComboBox(final Object items[]) {
            super();
            setModel(new DefaultComboBoxModel(items));
            init();
        }
        public void addItem(Object anObject) {
            checkMutableComboBoxModel();
            ((MutableComboBoxModel)dataModel).addElement(anObject);
        }
    }
    可以发现这个JComboBox本身就是使用DefaultComboBoxModel类来管理数据的。
    请说明我的问题的症结所在,谢谢!
      

  6.   

    晕,你在哪里看到JComboBox本身就是使用DefaultComboBoxModel类来管理的,public JComboBox(ComboBoxModel aModel) ,这个构造函数你要不传给他一个ComboBoxModel 类的实例,他上哪管理啊
      

  7.   

    老大,你没有看我上面贴的JDK的源代码嘛?摆脱你先看明白再发表言论!!!