Класс java.awt.GridLayout позволяет организовать компоненты , как строки и столбцы в таблице. Компоненты будут добавляться в ячейки условной таблицы. Если размер окна будет увеличен, яч ейки станут больше, но положение компонентов относительно друг друга
останется прежним. В нашем калькуляторе семь компонентов
– три
текстовыеметки,тритекстовыхполяикнопка.Мыможемразместить
их в таблице с четырьмя строками и двумя колонками (одна я
чейка
останетсяпустой):
GridLayout gr = new GridLayout(4,2);
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
Также можно задать расстояние между ячейками по вертикали и горизонтали,напримервпятьпикселей:
GridLayout gr = new GridLayout(4,2,5,5);
Посленебольшихизмененийвнашемкаль куляторе(ониподсвеченыниже), онстанетвыглядетьгораздосимпатичнее.
А теперь с оздайте и скомпилируйте новый класс SimpleCalculatorGrid в
проекте My Calculator .
import javax.swing.*;import java.awt.GridLayout;
public class SimpleCalculatorGrid {public static void main(String[] args) {
// Создаём панель
JPanel windowContent= new JPanel(); //Задаёмменеджеррасполдляэтпанелияо жй
GridLayout gl = new GridLayout(4,2); windowContent.setLayout(gl);
// Создаём компоненты в памяти
JLabel label1 = new JLabel("Number 1:");
JTextField field1 = new JTextField(10);
JLabel label2 = new JLabel("Number 2:");
JTextField field2 = new JTextField(10);
JLabel label3 = new JLabel("Sum:");
JTextField result = new JTextField(10);
JButton go = new JButton("Add");
//Добавляемкомпне нтыль
windowContent.add(label1);
windowContent.add(field1);
windowContent.add(label2);
windowContent.add(field2);
windowContent.add(label3);
windowContent.add(result);
windowContent.add(go);
ПрогрнаммированиеJava длядетей,родителей,бабушекдедушек
//Создаёмфрейизадпанельдляёмнего
JFrame frame = new JFrame("My First Calculator"); frame.setContentPane(windowContent);
// задаём размер и отображаем окно
frame.setSize(400,100); frame.setVisible(true );
}
}
Послезапуска программы SimpleCalculatorGrid, выувидитетакоеокно:
Попробуйте поменять размеры этого окна – размеры элементов управления будут меняться вместе с ним, но их положение относительнодругдруганеизменится :
Ещё одна важная вещь, которую стоит з апомнить про табличный компоновщик – внем всеячейкиимеютодинаковуюдлинуиширину.