Нужно разместить на форме компоненты Swing, Java

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

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

Только начала изучать Swing и не знаю, как разместить на форме компоненты в нужном порядке. Код еще не полностью написан, нужно пока разобраться с размещением. Нужно, чтобы в первой строке было "Введите числа" и две по порядку формы для ввода чисел. На второй "Результат" и одно поле для ввода. На третьей "Действия:", а ниже все 4 кнопки в ряд. Вот код:
Листинг программы
  1. import java.awt.*;
  2. import java.awt.event.*;
  3. import java.awt.event.ActionEvent.*;
  4. import javax.swing.*;
  5. public class ApplicationKate implements ActionListener
  6. {
  7. JLabel jlab;
  8. ApplicationKate() {
  9. //название формы
  10. JFrame jfrm = new JFrame("Простой калькулятор");
  11. jfrm.setSize(400, 300);
  12. jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  13. //текст на форме
  14. JLabel jlab = new JLabel("Введите числа");
  15. jfrm.getContentPane().add(jlab);
  16. jfrm.setVisible(true);
  17. JLabel jlab1 = new JLabel("Результат");
  18. jfrm.getContentPane().add(jlab1);
  19. jfrm.setVisible(true);
  20. JLabel jlab2 = new JLabel("Действия");
  21. jfrm.getContentPane().add(jlab2);
  22. jfrm.setVisible(true);
  23. //кнопки
  24. JButton jbtnPls = new JButton("Сложить");
  25. jfrm.getContentPane().add(jbtnPls);
  26. jbtnPls.addActionListener(this);
  27. jbtnPls.setVisible(true);
  28. JButton jbtnMns = new JButton("Вычесть");
  29. jfrm.getContentPane().add(jbtnMns);
  30. jbtnMns.addActionListener(this);
  31. jbtnMns.setVisible(true);
  32. JButton jbtnYmn = new JButton("Умножить");
  33. jfrm.getContentPane().add(jbtnYmn);
  34. jbtnYmn.addActionListener(this);
  35. jbtnYmn.setVisible(true);
  36. JButton jbtnRaz = new JButton("Разделить");
  37. jfrm.getContentPane().add(jbtnRaz);
  38. jbtnRaz.addActionListener(this);
  39. jbtnRaz.setVisible(true);
  40. }
  41. public static void main(String args[]) {
  42. SwingUtilities.invokeLater(new Runnable() {
  43. @Override
  44. public void run() {
  45. new ApplicationKate();
  46. }
  47. });
  48. }
  49. @Override
  50. public void actionPerformed(ActionEvent e) {
  51. }
  52. }

Решение задачи: «Нужно разместить на форме компоненты Swing, Java»

textual
Листинг программы
  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. {
  7.     JLabel jlab;
  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.         JTextField par1 = new JTextField();
  23.         gbc.gridx = 1;
  24.         jfrm.add(par1, gbc);
  25.  
  26.         JTextField par2 = new JTextField();
  27.         gbc.gridx = 2;
  28.         jfrm.add(par2, gbc);
  29.  
  30.         JLabel jlab1 = new JLabel("Результат");
  31.         gbc.gridy = 1;
  32.         gbc.gridx = 0;
  33.         jfrm.add(jlab1, gbc);
  34.  
  35.         JTextField result = new JTextField();
  36.         gbc.gridx = 1;
  37.         jfrm.add(result, gbc);
  38.  
  39.         JLabel jlab2 = new JLabel("Действия");
  40.         gbc.gridy = 2;
  41.         gbc.gridx = 0;
  42.         gbc.gridwidth = 4;
  43.         gbc.fill = GridBagConstraints.NONE;
  44.         gbc.anchor = GridBagConstraints.CENTER;
  45.         jfrm.add(jlab2, gbc);
  46.  
  47.         //кнопки
  48.         gbc.gridy = 3;
  49.         gbc.gridwidth = 1;
  50.         gbc.fill = GridBagConstraints.BOTH;
  51.  
  52.         JButton jbtnPls = new JButton("Сложить");
  53.         gbc.gridx = 0;
  54.         jfrm.add(jbtnPls, gbc);
  55.         jbtnPls.addActionListener(this);
  56.  
  57.         JButton jbtnMns = new JButton("Вычесть");
  58.         gbc.gridx = 1;
  59.         jfrm.add(jbtnMns, gbc);
  60.         jbtnMns.addActionListener(this);
  61.  
  62.         JButton jbtnYmn = new JButton("Умножить");
  63.         gbc.gridx = 2;
  64.         jfrm.add(jbtnYmn, gbc);
  65.         jbtnYmn.addActionListener(this);
  66.  
  67.         JButton jbtnRaz = new JButton("Разделить");
  68.         gbc.gridx = 3;
  69.         jfrm.add(jbtnRaz, gbc);
  70.         jbtnRaz.addActionListener(this);
  71.  
  72.         jfrm.setVisible(true);
  73.     }
  74.  
  75.     public static void main(String args[]) {
  76.         SwingUtilities.invokeLater(new Runnable() {
  77.             @Override
  78.             public void run() {
  79.                 new ApplicationKate();
  80.             }
  81.         });
  82.     }
  83.  
  84.     @Override
  85.     public void actionPerformed(ActionEvent e) {
  86.  
  87.     }
  88. }

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


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

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

8   голосов , оценка 3.625 из 5

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

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

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