Обработка нажатия кнопки - Java (240964)

Узнай цену своей работы

Формулировка задачи:

Добрый вечер! Пытаюсь сделать простой калькулятор на Java c использованием компонентов Swing. При запуске кода выдает ошибку Error105, 1) java: class, interface, or enum expected. Я не очень понимаю в чем проблема. Кроме того в обработке нажатия не видит TextBox, значения которых я пытаюсь обработать. Что не так?
Листинг программы
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. public class ApplicationKate implements ActionListener {
  6. JLabel jlab;
  7. ApplicationKate() {
  8. //название формы
  9. JFrame jfrm = new JFrame("Простой калькулятор");
  10. jfrm.setSize(450, 200);
  11. // GridBagLayout grid = new GridBagLayout();
  12. GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(10, 5, 5, 5), 5, 5);
  13. jfrm.setLayout(new GridBagLayout());
  14. jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  15.  
  16. //текст на форме
  17. JLabel jlab = new JLabel("Введите числа");
  18. jfrm.add(jlab, gbc);
  19. //textboxs
  20. JTextField par1 = new JTextField();
  21. gbc.gridx = 1;
  22. jfrm.add(par1, gbc);
  23. JTextField par2 = new JTextField();
  24. gbc.gridx = 2;
  25. jfrm.add(par2, gbc);
  26. JTextField result = new JTextField();
  27. gbc.gridx = 1;
  28. jfrm.add(result, gbc);
  29. //labels на форме
  30. JLabel jlab1 = new JLabel("Результат");
  31. gbc.gridy = 1;
  32. gbc.gridx = 0;
  33. jfrm.add(jlab1, gbc);
  34. JLabel jlab2 = new JLabel("Действия");
  35. gbc.gridy = 2;
  36. gbc.gridx = 0;
  37. gbc.gridwidth = 4;
  38. gbc.fill = GridBagConstraints.NONE;
  39. gbc.anchor = GridBagConstraints.CENTER;
  40. jfrm.add(jlab2, gbc);
  41. //кнопки
  42. gbc.gridy = 3;
  43. gbc.gridwidth = 1;
  44. gbc.fill = GridBagConstraints.BOTH;
  45. JButton jbtnPls = new JButton("Сложить");
  46. gbc.gridx = 0;
  47. jfrm.add(jbtnPls, gbc);
  48. jbtnPls.addActionListener(this);
  49. JButton jbtnMns = new JButton("Вычесть");
  50. gbc.gridx = 1;
  51. jfrm.add(jbtnMns, gbc);
  52. jbtnMns.addActionListener(this);
  53. JButton jbtnYmn = new JButton("Умножить");
  54. gbc.gridx = 2;
  55. jfrm.add(jbtnYmn, gbc);
  56. jbtnYmn.addActionListener(this);
  57. JButton jbtnRaz = new JButton("Разделить");
  58. gbc.gridx = 3;
  59. jfrm.add(jbtnRaz, gbc);
  60. jbtnRaz.addActionListener(this);
  61. jfrm.setVisible(true);
  62. }
  63. public static void main(String args[]) {
  64. SwingUtilities.invokeLater(new Runnable() {
  65. @Override
  66. public void run() {
  67. new ApplicationKate();
  68. }
  69. });
  70. }
  71. private void jbtnPls_Click(object sender, EventArgs e) {
  72. result.Text = ((Convert.ToInt(par1.Text)) + (Convert.ToInt(par2.Text))).ToString();
  73. }
  74. private void jbtnMns_Click(object sender, EventArgs e) {
  75. result.Text = ((Convert.ToInt(par1.Text)) - (Convert.ToInt(par2.Text))).ToString();
  76. }
  77. private void jbtnYmn_Click(object sender, EventArgs e) {
  78. result.Text = ((Convert.ToInt(par1.Text)) * (Convert.ToInt(par2.Text))).ToString();
  79. }
  80. private void jbtnRaz_Click(object sender, EventArgs e) {
  81. result.Text = ((Convert.ToInt(par1.Text)) / (Convert.ToInt(par2.Text))).ToString();
  82. }
  83. }
  84. }

Решение задачи: «Обработка нажатия кнопки»

textual
Листинг программы
  1. package sample;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. public class ApplicationKate {
  7.  
  8.     ApplicationKate() {
  9.         //название формы
  10.         JFrame jfrm = new JFrame("Простой калькулятор");
  11.         jfrm.setSize(450, 200);
  12. //        GridBagLayout grid = new GridBagLayout();
  13.         GridBagConstraints gbc = new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.EAST, GridBagConstraints.BOTH, new Insets(10, 5, 5, 5), 5, 5);
  14.         jfrm.setLayout(new GridBagLayout());
  15.         jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  16.  
  17.  
  18.         //текст на форме
  19.         JLabel jlab = new JLabel("Введите числа");
  20.         jfrm.add(jlab, gbc);
  21.  
  22.         //textboxs
  23.         JTextField par1 = new JTextField();
  24.         gbc.gridx = 1;
  25.         jfrm.add(par1, gbc);
  26.  
  27.         JTextField par2 = new JTextField();
  28.         gbc.gridx = 2;
  29.         jfrm.add(par2, gbc);
  30.  
  31.         //labels на форме
  32.         JLabel jlab1 = new JLabel("Результат");
  33.         gbc.gridy = 1;
  34.         gbc.gridx = 0;
  35.         jfrm.add(jlab1, gbc);
  36.  
  37.         JTextField result = new JTextField();
  38.         gbc.gridx = 1;
  39.         jfrm.add(result, gbc);
  40.  
  41.         JLabel jlab2 = new JLabel("Действия");
  42.         gbc.gridy = 2;
  43.         gbc.gridx = 0;
  44.         gbc.gridwidth = 4;
  45.         gbc.fill = GridBagConstraints.NONE;
  46.         gbc.anchor = GridBagConstraints.CENTER;
  47.         jfrm.add(jlab2, gbc);
  48.  
  49.         //кнопки
  50.         gbc.gridy = 3;
  51.         gbc.gridwidth = 1;
  52.         gbc.fill = GridBagConstraints.BOTH;
  53.  
  54.         JButton jbtnPls = new JButton("Сложить");
  55.         gbc.gridx = 0;
  56.         jfrm.add(jbtnPls, gbc);
  57.         jbtnPls.addActionListener(e ->
  58.                 result.setText(Integer.parseInt(par1.getText()) + Integer.parseInt(par2.getText()) + ""));
  59.  
  60.         JButton jbtnMns = new JButton("Вычесть");
  61.         gbc.gridx = 1;
  62.         jfrm.add(jbtnMns, gbc);
  63.         jbtnMns.addActionListener(e ->
  64.                 result.setText(Integer.parseInt(par1.getText()) - Integer.parseInt(par2.getText()) + ""));
  65.  
  66.         JButton jbtnYmn = new JButton("Умножить");
  67.         gbc.gridx = 2;
  68.         jfrm.add(jbtnYmn, gbc);
  69.         jbtnYmn.addActionListener(e ->
  70.                 result.setText(Integer.parseInt(par1.getText()) * Integer.parseInt(par2.getText()) + ""));
  71.  
  72.         JButton jbtnRaz = new JButton("Разделить");
  73.         gbc.gridx = 3;
  74.         jfrm.add(jbtnRaz, gbc);
  75.         jbtnRaz.addActionListener(e ->
  76.                 result.setText(Integer.parseInt(par1.getText()) / Integer.parseInt(par2.getText()) + ""));
  77.  
  78.         jfrm.setVisible(true);
  79.     }
  80.  
  81.     public static void main(String args[]) {
  82.         SwingUtilities.invokeLater(new Runnable() {
  83.             @Override
  84.             public void run() {
  85.                 new ApplicationKate();
  86.             }
  87.         });
  88.     }
  89. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.857 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы