Нужно разместить на форме компоненты 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) {
}
}