我有这个代码,我想从jcombobox获取所选项目,但是当我运行我的项目时,它给我复制打印所选项目的值和java.Lang.NullPointerException这是代码:
private void jComboBox4ItemStateChanged(java.awt.event.ItemEvent evt) {
// TODO add your handling code here:
if (evt.getStateChange()==ItemEvent.SELECTED){
String a=String.valueOf(jComboBox4.getSelectedItem());
System.out.print(a);
try{
String del2="select distinct PTYPE from Projects inner join project on projects.PNUMBER=(select pro_id from project where pro_name='"+a+"')";
psst=con.prepareStatement(del2);
String td2;
DefaultComboBoxModel mode2 = new DefaultComboBoxModel();
ResultSet rss=psst.executeQuery();
while(rss.next()){
td2=rss.getString("PTYPE");
mode2.addElement(td2);
jComboBox7.setModel(mode2);
}
}
catch(SQLException ex){
JOptionPane.showMessageDialog(null, ex.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
我假设您的itemStateChanged()方法中有此代码。您获得两次的原因是选择新值和取消选择旧值都会发生这种情况。
您的代码应该类似于:
myCombo.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange() == ItemEvent.SELECTED) {
String a=jcombobox.getselecteditem().toString();
System.out.print(a);
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6246 次 |
| 最近记录: |