私はcombobox.itにcategory name.soがあります。これはカテゴリにstringを渡す必要があります。 カテゴリcategory =(カテゴリ)cmbCategory.getSelectedItem();このラインは、カテゴリ型へカントキャスト文字列を言うエラーが出る...java.lang.ClassCastException:java.lang.Stringはカテゴリ型にキャストできません
private void btnSaveActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
double amount = Double.parseDouble(txtAmount.getText());
Expense expense = new Expense();
expense.setReason(txtReason.getText());
expense.setAmount(amount);
DateFormat format = new SimpleDateFormat("MMMM d, yyyy");
Category category = (Category)cmbCategory.getSelectedItem();
String startDate = ((JTextField)txtDate.getDateEditor().getUiComponent()).getText();
try {
Date date = format.parse(startDate);
expense.setDate(date);
} catch (ParseException ex) {
Logger.getLogger(ExpenseView.class.getName()).log(Level.SEVERE, null, ex);
}
expense.setCategory(category);
ExpenseController.saveExpense(expense);
}
は 'cmbCategory.getSelectedItem()のタイプである;'文字列? –
yes.iそれを文字列として渡します – Dise
それでは、あなたは問題です。あなたは 'getSelectedItem()'が 'Category'の' Category'またはサブクラスを与えようとしていることをコンパイラに伝えようとしていますが、 'String'はそうではありません。 – Orin