Java Swing - JComboBox getSelectedItem() не находит объект (невозможно разрешить)JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Java Swing - JComboBox getSelectedItem() не находит объект (невозможно разрешить)

Сообщение Anonymous »

Я создаю простой инструмент для расчета бюджета, в котором у меня есть пара полей ввода и JComboBox для выбора /week, /month или /year
Я предполагал, что могу просто вызвать getSelectedItem() в foodRateBox, чтобы получить выбранный элемент, как я могу получить текст из поля, такого как foodField, с помощью getText(), но когда я пытаюсь это, я получаю:

"foodRateBox не может быть решен Java(570425394)"

Чего мне не хватает?
Основные вещи:
public class BudgetBase extends JPanel { // based on Swing JPanel

JFrame topLevelFrame; // top-level JFrame
GridBagConstraints layoutConstraints = new GridBagConstraints(); // layout

private JButton calculateButton; // Calculate button
private JButton exitButton; // Exit button

private JTextField wagesField; // Wages text field
private JTextField loansField; // Loans text field
private JTextField otherIncomeField; // text field for anyhting else
private JTextField totalIncomeField; // Total Income field

private JTextField foodField; // food text field
private JTextField rentField; // rent text field
private JTextField otherSpendingField; // text field for anyhting else
private JTextField totalSpendingField; // Total Spending field

private JTextField deficitField; // difference between spending and income
String[] rate = {"/week", "/month", "/year"}; // selection for the JComboBoxes
...

Затем у меня есть функция для компонентов и добавления их в сетку
private void initComponents() {

...

// Row 1 - Wages label, box, and text field
JLabel wagesLabel = new JLabel("Wages");
addComponent(wagesLabel, 1, 0);

final JComboBox wagesRateBox = new JComboBox(rate);
addComponent(wagesRateBox, 1, 1);

wagesField = new JTextField("", 10); // blank initially, with 10 columns
wagesField.setHorizontalAlignment(JTextField.RIGHT) ;
addComponent(wagesField, 1, 2);

...

Когда нажата кнопка вычислить, она вызывает функцию для выполнения некоторых вычислений, и именно здесь я хочу получить элемент в JComboBox.
public double calculateTotalSpending() {

// get values from spendng text fields. valie is NaN if an error occurs
String spendingError = ""; // track errors to output as one message
double food = getTextFieldValue(foodField);
double rent = getTextFieldValue(rentField);
double otherS = getTextFieldValue(otherSpendingField); //otherS for 'Other Spending'

String foodRate = foodRateBox.getSelectedItem();

...

getTextFieldValue это просто:
private double getTextFieldValue(JTextField field) {

// get value as String from field
String fieldString = field.getText(); // get text from text field

if ((fieldString.trim()).equals("")) { // if text field is blank, return 0
return 0.0;
}

else { // if text field is not blank, parse it into a double
try {
return Double.parseDouble(fieldString); // parse field number into a double
} catch (java.lang.NumberFormatException ex) { // catch invalid number exception
return Double.NaN; // return NaN to show that field is not a number
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-be-resol
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»