如何检索子类别的正确值?

时间:2013-11-27 06:36:35

标签: java arrays swing jcombobox

最初,JComboBox中填充了一些字符串值 比如“纹理”,“产品”等 它们归于一个角色 比如'T','P',这样表就像这样

CREATE TABLE Category (  
  CategoryID INTEGER  GENERATED ALWAYS AS IDENTITY 
                (START WITH 1, INCREMENT BY 1)  ,
  CategoryCode VARCHAR(1) NOT NULL, 
  CategoryName VARCHAR(80) NOT NULL


);

INSERT INTO Category (CategoryCode, CategoryName) VALUES('T','Textures');
INSERT INTO Category (CategoryCode, CategoryName) VALUES('D','Diamonds');
INSERT INTO Category (CategoryCode, CategoryName) VALUES('P','Products');

当从JComboBox中检索它们时,我会做这样的事情

cbSCategory.addItemListener(new ItemListener() {

            @Override
            public void itemStateChanged(ItemEvent e) {
                // sid = cbSCategory.getSelectedIndex();
                try {
                    setProductCol();
                } catch (SQLException ex) {
                    JOptionPane.showMessageDialog(null, "Error");
                    Logger.getLogger(ProductPanel2.class.getName()).log(Level.SEVERE, null, ex);
                }

            }
        });

现在我不能拥有该属性的索引和字符表示 如何正确检索属性的值? 谢谢 千斤顶

1 个答案:

答案 0 :(得分:1)

您可以创建一个java类来表示Category并保留在JComboBox

public class Category {
    int id;
    String code;
    String name;
}

覆盖toString()方法以返回'name'字段并将Category对象的列表放在JComboBox中。

在选择时,您可以获取所选项目并阅读idcode