我知道如何将comboBox值插入到sql中但不知道如何用sql中的数字替换comboBox值。
这是我的comboBox编码和处理按钮的一部分。
User.java
JComboBox comboBox_1 = new JComboBox();
comboBox_1.setBounds(126, 105, 140, 20);
contentPane.add(comboBox_1);
comboBox_1.addItem("RM100-RM200");
comboBox_1.addItem("RM200-RM300");
comboBox_1.addItem("RM300-RM400");
JButton btnNewButton = new JButton("Process");
btnNewButton.setBounds(360, 296, 89, 23);
contentPane.add(btnNewButton);
btnNewButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
String a=(String)comboBox.getSelectedItem().toString();
Case ca= new Case();
try {
ca.addPlace(a);
LoginGUI um= new LoginGUI();
um.setVisible(true);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
Case.java
public void addPlace( String r) throws Exception{
DatabaseConnection db=new DatabaseConnection();
Connection connect=db.getConnection();
String sql="Insert into menu(Budget)VALUES (?)";
PreparedStatement ps=connect.prepareStatement(sql);
ps.setString(1,r);
ps.executeUpdate();
connect.close();
ps.close();
}
假设用户选择RM100-RM200,值“1”将插入sql而不是RM100-RM200。有人可以帮忙吗?
答案 0 :(得分:0)
Java组合框包含getSelectedIndex
方法。
http://docs.oracle.com/javase/8/docs/api/javax/swing/JComboBox.html#getSelectedIndex--
答案 1 :(得分:0)
您是否测试过代码? 在你的actionPerformed()中你写了,
String a =(String)comboBox.getSelectedItem()。toString();
对象comboBox在代码中没有初始化。 你的意思是comboBox_1,因为它是你在代码中实际初始化的JcomboBox的唯一对象。
另外
(String)comboBox.getSelectedItem()。toString();
实际上不需要对String进行类型转换,因为toString只返回一个String。