我有一个程序,用户在JTextFields中输入值,然后按一个按钮,将它们的值发送到SQL数据库。JComboBox和JTextFields不工作与equals()
JComboBox<String> dropRG = new JComboBox<String>();
dropRG.addItem("Children's Fiction");
dropRG.addItem("Fantasy");
dropRG.addItem("Horror");
dropRG.setEditable(true);
dropRG.setBounds(425, 210, 180, 27);
panel_1.add(dropRG);
JButton btnSubmit = new JButton("Submit");
btnSubmit.addActionListener(new ActionListener() {
String afValue = AF.getText().trim();
String alValue = AL.getText().trim();
String titleValue = titleBook.getText().trim();
String dropRGValue = dropRG.getSelectedItem().toString();
public void actionPerformed(ActionEvent e) {
if (afValue.equals(null) || alValue.equals(null) || titleValue.equals(null) || dropRGValue.equals(null)){
JOptionPane.showMessageDialog(null, "Can't have empty fields!");
}
else {
//SQL code
JOptionPane.showMessageDialog(null, "Entry Saved!");
}
}
});
btnSubmit.setBounds(270, 315, 117, 29);
panel_1.add(btnSubmit);
我有三个JTextFields的值和一个可编辑的JComboBox插入的值。我以前在try/catch块中有上面的代码,它不会抛出异常,并且上面的代码在过去对我来说工作得很好(但由于看不见的情况我必须完全重做该程序从头开始),现在它甚至没有代码是完全相同的。代码的结果总是以“Entry Saved!”结尾即使是空字段(还有一个空的JComboBox,因为它是可编辑的)。
当JComboBox不可编辑且dropRgValue.equals()不在那里时,也可能值得一提,代码仍然无法工作。
我是一名业余程序员,我可能错过了一些重要的东西,但是这看起来太简单了,不能解决问题。
该字符串值不能为空,否则'.trim()'调用将抛出NullPointerException。一个空字符串'“”'不同于'null'的字符串。还要注意上面的代码永远不会起作用,并且总是只执行else语句或者以NPE结束。所以当你重新编辑它时你必须改变它。 –
我相信你可能没有任何空值,但是空的。所以检查空也 – soorapadman