最初,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);
}
}
});
现在我不能拥有该属性的索引和字符表示 如何正确检索属性的值? 谢谢 千斤顶
答案 0 :(得分:1)
您可以创建一个java类来表示Category并保留在JComboBox
中public class Category {
int id;
String code;
String name;
}
覆盖toString()方法以返回'name'字段并将Category对象的列表放在JComboBox中。
在选择时,您可以获取所选项目并阅读id
或code
。