java swing 的 JComboBox 能像html中的select一样将显示值和实际值对应吗?请高手指教,谢谢!

解决方案 »

  1.   

    比如一个列表
    code  name
    0     男
    1     女
    在JComboBox列表中显示的是男和女
    用getSelectedItem方法获取的是0或1
      

  2.   

    解决了
    package com.eagle;import java.awt.Container;import javax.swing.*;public class Test extends JFrame{
    public JComboBox box;
    public Test(){
    box = new JComboBox();
    Data data1 = new Data("0","男");
    Data data2 = new Data("1","女");
    box.addItem(data1);
    box.addItem(data2);
    JPanel pane = new JPanel();
    pane.add(box);
    Container contentPane = this.getContentPane();
    contentPane.add(pane);
    this.setContentPane(contentPane);
                    this.setSize(100,100);
    this.setVisible(true);
    }
    class Data {
    public String code;
    public String name;
    public Data(String _code, String _name){
    code = _code;
    name = _name;
    }
    public String toString(){
    return name;
    }
    }
    public static void main(String args[]){
    Test test = new Test();
    Data data = (Data)test.box.getSelectedItem();

    System.out.println(data.code);
    }
    }
      

  3.   

    JComboBox比html的下拉框要强大很多哦!一个Item可以是一个非常复杂的对象,显示的值都是这个对象的toString()值。