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

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

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

Только начала изучать Swing и не знаю, как разместить на форме компоненты в нужном порядке. Код еще не полностью написан, нужно пока разобраться с размещением. Нужно, чтобы в первой строке было "Введите числа" и две по порядку формы для ввода чисел. На второй "Результат" и одно поле для ввода. На третьей "Действия:", а ниже все 4 кнопки в ряд. Вот код:
import java.awt.*;
import java.awt.event.*;
import java.awt.event.ActionEvent.*;
import javax.swing.*;
public class ApplicationKate implements ActionListener
{
    JLabel jlab;
    ApplicationKate() {
        //название формы
        JFrame jfrm = new JFrame("Простой калькулятор");
        jfrm.setSize(400, 300);
        jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
        //текст на форме
        JLabel jlab = new JLabel("Введите числа");
        jfrm.getContentPane().add(jlab);
        jfrm.setVisible(true);
 
        JLabel jlab1 = new JLabel("Результат");
        jfrm.getContentPane().add(jlab1);
        jfrm.setVisible(true);
 
        JLabel jlab2 = new JLabel("Действия");
        jfrm.getContentPane().add(jlab2);
        jfrm.setVisible(true);
 
        //кнопки
        JButton jbtnPls = new JButton("Сложить");
        jfrm.getContentPane().add(jbtnPls);
        jbtnPls.addActionListener(this);
        jbtnPls.setVisible(true);
 
        JButton jbtnMns = new JButton("Вычесть");
        jfrm.getContentPane().add(jbtnMns);
        jbtnMns.addActionListener(this);
        jbtnMns.setVisible(true);
 
        JButton jbtnYmn = new JButton("Умножить");
        jfrm.getContentPane().add(jbtnYmn);
        jbtnYmn.addActionListener(this);
        jbtnYmn.setVisible(true);
 
        JButton jbtnRaz = new JButton("Разделить");
        jfrm.getContentPane().add(jbtnRaz);
        jbtnRaz.addActionListener(this);
        jbtnRaz.setVisible(true);
    }
 
    public static void main(String args[]) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new ApplicationKate();
            }
        });
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
    }
}

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

textual
Листинг программы
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);
 
        JTextField par1 = new JTextField();
        gbc.gridx = 1;
        jfrm.add(par1, gbc);
 
        JTextField par2 = new JTextField();
        gbc.gridx = 2;
        jfrm.add(par2, gbc);
 
        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(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();
            }
        });
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
 
    }
}

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


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

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

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