日期:2014-05-20  浏览次数:20658 次

Swing中JComboBox如果获取数据库值求详细代码。刚接触Swing
第一次发帖。不知道规矩。
如题 讲项目类型做成下拉选项。选项里的值是model里的procode
不知道这个控件该怎么赋值。
JLabel applicationStaffField = new JLabel(applyModel.getApplicationStaff());
JLabel applicationDepartmentField =new JLabel(applyModel.getApplicationDepartment());
JLabel expensesNetureField =new JLabel(applyModel.getExpensesNeture());
这是label的赋值方法。
------解决方案--------------------
引用:
引用:
引用:
JComboBox也有一个model
接楼上
jcobobox也有model,这个model里是可以放对象的,你的对象可以使这个类型的实体,当然就包括了procode和类型名称等属性了,当然,你还得重写这个类型实体类的toString()方法,让这个方法返回你想显示的内容,比如,你想在下拉框里显……

举个例子吧,比如我们的type实体类叫ViewType,只有两个属性,为了再下拉框中放入ViewType时能显示的是typeName,我们必须重写该类的toString()方法:

public class ViewType {
private String typeName;
private String proCode;

public String getProCode() {
return proCode;
}
public void setProCode(String proCode) {
this.proCode = proCode;
}
public String getTypeName() {
return typeName;
}
public void setTypeName(String typeName) {
this.typeName = typeName;
}

public String toString(){
return this.typeName;
}

}

接着,我们在获取到一个ViewType类的list后,可循环将List中的ViewType放到下拉框中,假设你的下拉框变量是comboBox:

for(ViewType v:list){
   comboBox.addItem(v);
}

这样就将下拉框初始化好了,那我们怎么获取选择中的ViewType的procede呢?看下面:

Object c = comboBox.getSelectedItem(); //首先获取被选中的项
String proCode = ((ViewType)c).getProCode();//强制转换为ViewType后取得procode

基本上就是这样了