私は、ユーザーが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);
値に対して3つのJTextFieldがあり、挿入された値に対して編集可能なJComboBoxが1つあります。私はtry/catchブロックで上記のコードを使用していましたが、例外がスローされることはありませんでした。上記のコードは過去にはうまく動作していました(しかし、見えない状況のために、ゼロから)、コードはまったく同じではありません。コードの結果は常に「Entry Saved!」になります。空のフィールド(空のJComboBox、編集可能なので)でも
JComboBoxが編集可能でなく、dropRgValue.equals()もそこになかった場合は、コードはまだ機能しませんでした。
私はアマチュアのプログラマーですが、何か重要なことを見逃しているかもしれませんが、これはうまくいかないほど簡単です。
文字列値はnullにすることはできません、のようなより多くの何かをすることです。空文字列 '' ''と '' null''型の文字列とは異なります。また、上記のコードは一度も動作していないでしょうし、常にelseステートメントを実行したか、またはNPEで終了します。だからあなたはそれを元に戻すときにそれを変更したに違いありません。 –
私はあなたがnull値を持っていなくても空ではないと信じています。空もチェックする – soorapadman