アプリケーションには、メインのクラスとインターフェイス用のクラスの 2 つのクラスがあります。netbeans を使用して、JTextFields を含むいくつかのフィールドを作成しました。
ここで、メイン クラスの次のメソッドを使用して組み込みデータベースに挿入するふりをします。
try {
stmtSaveNewRecord = dbConnection.prepareStatement(
"INSERT INTO APP.Alunos " +
" (FIRSTNAME, AGE) " +
"VALUES (?, ?)",
Statement.RETURN_GENERATED_KEYS);
} catch (SQLException ex) {
Logger.getLogger(Aquitex.class.getName()).log(Level.SEVERE, null, ex);
}
int id = -1;
try {
stmtSaveNewRecord.clearParameters();
stmtSaveNewRecord.setString(1, da.getjTextField1());
stmtSaveNewRecord.setInt(2, da.getjTextField2());
int rowCount = stmtSaveNewRecord.executeUpdate();
ResultSet results = stmtSaveNewRecord.getGeneratedKeys();
if (results.next()) {
id = results.getInt(1);
}
} catch(SQLException sqle) {
sqle.printStackTrace();
}
return id;
ご覧のとおり、インターフェイス クラスで作成した 2 つのメソッド (getjTextField1 と getjTextField2) を呼び出します。
public String getjTextField1(){
JOptionPane.showMessageDialog(null,jTextField1.getText());
return jTextField1.getText();
}
問題は、jFieldTexts に入力された値を取得できないことです。上記のコードでわかるように、JOptionPane を呼び出して、jTextField1 にデータを入力した後に何が返されるかを確認しますが、常に null です。