Обработка нажатия кнопки - Java (240964)
Формулировка задачи:
Добрый вечер! Пытаюсь сделать простой калькулятор на Java c использованием компонентов Swing. При запуске кода выдает ошибку Error105, 1) java: class, interface, or enum expected. Я не очень понимаю в чем проблема. Кроме того в обработке нажатия не видит TextBox, значения которых я пытаюсь обработать. Что не так?
Листинг программы
- import javax.swing.*;
- import java.awt.*;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- public class ApplicationKate implements ActionListener {
- JLabel jlab;
- ApplicationKate() {
- //название формы
- JFrame jfrm = new JFrame("Простой калькулятор");
- jfrm.setSize(450, 200);
- // GridBagLayout grid = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(10, 5, 5, 5), 5, 5);
- jfrm.setLayout(new GridBagLayout());
- jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //текст на форме
- JLabel jlab = new JLabel("Введите числа");
- jfrm.add(jlab, gbc);
- //textboxs
- JTextField par1 = new JTextField();
- gbc.gridx = 1;
- jfrm.add(par1, gbc);
- JTextField par2 = new JTextField();
- gbc.gridx = 2;
- jfrm.add(par2, gbc);
- JTextField result = new JTextField();
- gbc.gridx = 1;
- jfrm.add(result, gbc);
- //labels на форме
- JLabel jlab1 = new JLabel("Результат");
- gbc.gridy = 1;
- gbc.gridx = 0;
- jfrm.add(jlab1, gbc);
- JLabel jlab2 = new JLabel("Действия");
- gbc.gridy = 2;
- gbc.gridx = 0;
- gbc.gridwidth = 4;
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.CENTER;
- jfrm.add(jlab2, gbc);
- //кнопки
- gbc.gridy = 3;
- gbc.gridwidth = 1;
- gbc.fill = GridBagConstraints.BOTH;
- JButton jbtnPls = new JButton("Сложить");
- gbc.gridx = 0;
- jfrm.add(jbtnPls, gbc);
- jbtnPls.addActionListener(this);
- JButton jbtnMns = new JButton("Вычесть");
- gbc.gridx = 1;
- jfrm.add(jbtnMns, gbc);
- jbtnMns.addActionListener(this);
- JButton jbtnYmn = new JButton("Умножить");
- gbc.gridx = 2;
- jfrm.add(jbtnYmn, gbc);
- jbtnYmn.addActionListener(this);
- JButton jbtnRaz = new JButton("Разделить");
- gbc.gridx = 3;
- jfrm.add(jbtnRaz, gbc);
- jbtnRaz.addActionListener(this);
- jfrm.setVisible(true);
- }
- public static void main(String args[]) {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- new ApplicationKate();
- }
- });
- }
- private void jbtnPls_Click(object sender, EventArgs e) {
- result.Text = ((Convert.ToInt(par1.Text)) + (Convert.ToInt(par2.Text))).ToString();
- }
- private void jbtnMns_Click(object sender, EventArgs e) {
- result.Text = ((Convert.ToInt(par1.Text)) - (Convert.ToInt(par2.Text))).ToString();
- }
- private void jbtnYmn_Click(object sender, EventArgs e) {
- result.Text = ((Convert.ToInt(par1.Text)) * (Convert.ToInt(par2.Text))).ToString();
- }
- private void jbtnRaz_Click(object sender, EventArgs e) {
- result.Text = ((Convert.ToInt(par1.Text)) / (Convert.ToInt(par2.Text))).ToString();
- }
- }
- }
Решение задачи: «Обработка нажатия кнопки»
textual
Листинг программы
- package sample;
- import javax.swing.*;
- import java.awt.*;
- public class ApplicationKate {
- ApplicationKate() {
- //название формы
- JFrame jfrm = new JFrame("Простой калькулятор");
- jfrm.setSize(450, 200);
- // GridBagLayout grid = new GridBagLayout();
- GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(10, 5, 5, 5), 5, 5);
- jfrm.setLayout(new GridBagLayout());
- jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- //текст на форме
- JLabel jlab = new JLabel("Введите числа");
- jfrm.add(jlab, gbc);
- //textboxs
- JTextField par1 = new JTextField();
- gbc.gridx = 1;
- jfrm.add(par1, gbc);
- JTextField par2 = new JTextField();
- gbc.gridx = 2;
- jfrm.add(par2, gbc);
- //labels на форме
- JLabel jlab1 = new JLabel("Результат");
- gbc.gridy = 1;
- gbc.gridx = 0;
- jfrm.add(jlab1, gbc);
- JTextField result = new JTextField();
- gbc.gridx = 1;
- jfrm.add(result, gbc);
- JLabel jlab2 = new JLabel("Действия");
- gbc.gridy = 2;
- gbc.gridx = 0;
- gbc.gridwidth = 4;
- gbc.fill = GridBagConstraints.NONE;
- gbc.anchor = GridBagConstraints.CENTER;
- jfrm.add(jlab2, gbc);
- //кнопки
- gbc.gridy = 3;
- gbc.gridwidth = 1;
- gbc.fill = GridBagConstraints.BOTH;
- JButton jbtnPls = new JButton("Сложить");
- gbc.gridx = 0;
- jfrm.add(jbtnPls, gbc);
- jbtnPls.addActionListener(e ->
- result.setText(Integer.parseInt(par1.getText()) + Integer.parseInt(par2.getText()) + ""));
- JButton jbtnMns = new JButton("Вычесть");
- gbc.gridx = 1;
- jfrm.add(jbtnMns, gbc);
- jbtnMns.addActionListener(e ->
- result.setText(Integer.parseInt(par1.getText()) - Integer.parseInt(par2.getText()) + ""));
- JButton jbtnYmn = new JButton("Умножить");
- gbc.gridx = 2;
- jfrm.add(jbtnYmn, gbc);
- jbtnYmn.addActionListener(e ->
- result.setText(Integer.parseInt(par1.getText()) * Integer.parseInt(par2.getText()) + ""));
- JButton jbtnRaz = new JButton("Разделить");
- gbc.gridx = 3;
- jfrm.add(jbtnRaz, gbc);
- jbtnRaz.addActionListener(e ->
- result.setText(Integer.parseInt(par1.getText()) / Integer.parseInt(par2.getText()) + ""));
- jfrm.setVisible(true);
- }
- public static void main(String args[]) {
- SwingUtilities.invokeLater(new Runnable() {
- @Override
- public void run() {
- new ApplicationKate();
- }
- });
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д