Я хочу, чтобы моя программа выполняла JFrame с текстовыми полями: имя, фамилия, состояние учетной записи и объем вывода, чтобы спросить пользователя об этой информации, а затем отобразить окно сообщения следующим образом: Привет, Джон Смит, после ухода, ваше текущее состояние учетной записи: (состояние после выхода). Я сделал это только так, как мог (сначала мне захотелось создать отдельный класс, где я бы разбирал состояние и сумму вывода, а затем делать вычисления, но у меня были проблемы с этим). Так что я сделал это в классе Card. Проблема в том, о чем я хочу спросить вас, что программа не только не делает эти вычисления, но и делает это 't компилировать вообще. Когда я удаляю код вычисления из своей программы, он компилируется, но очевидно, что в поле сообщения возвращается только «Hello firstName lastName».Предоставление результатов вычислений в JFrame MessageBox
public class Card extends JFrame {
private JTextField firstName;
private JTextField lastName;
private JTextField state;
private JTextField withdrawal;
private JButton accept;
public Card() {
super("Cash Machine");
setLayout(new FlowLayout());
firstName = new JTextField("First name");
add(firstName);
lastName = new JTextField("Last name");
add(lastName);
state = new JTextField("Current account state");
add(state);
withdrawal = new JTextField("Amount of withdrawal");
add(withdrawal);
accept = new JButton("Accept");
add(accept);
newHandler handler = new newHandler();
accept.addActionListener(handler);
}
String state1 = state.getText();
int state2 = Integer.parseInt(state1);
String withdrawal1 = withdrawal.getText();
int withdrawal2 = Integer.parseInt(withdrawal1);
int finalState = state2 - withdrawal2;
private class newHandler implements ActionListener {
ArrayList<String> first_names = new ArrayList<String>();
ArrayList<String> last_names = new ArrayList<String>();
public void actionPerformed(ActionEvent event) {
// SHOWING THE FINAL MESSAGE BOX
if(event.getSource()==accept)
JOptionPane.showMessageDialog(null, "Hello " + firstName.getText() + " " + lastName.getText() + " " + state.getText() + " .Your current account state is: " + finalState);
}
}
}