FlowLayout. FlowLayout(int align, int hgap, int vgap);. Между компонентами можно оставить промежутки (gap) по горизонтали hgap и вертикали vgap
FlowLayout Наиболее просто поступает менеджер размещения FlowLayout. Он укладывает в контейнер один компонент за другим слева направо как кирпичи, переходя от верхних рядов к нижним. При изменении размера контейнера " кирпичи" перестраиваются. Компоненты поступают в том порядке, в каком они заданы в методах add(). В каждом ряду компоненты могут прижиматься к левому краю, если в конструкторе аргумент align равен FlowLayout. LEFT, к правому краю, если этот аргумент FlowLayout. RIGHT, или собираться в середине ряда, если FlowLayout. CENTER. Между компонентами можно оставить промежутки (gap) по горизонтали hgap и вертикали vgap. Это задается в конструкторе: FlowLayout(int align, int hgap, int vgap); Второй конструктор задает промежутки размером 5 пикселов: FlowLayout(int align); Третий конструктор определяет выравнивание по центру и промежутки 5 пикселов: FlowLayout(); После формирования объекта эти параметры можно изменить методами: setHgap(int hgap); setVgap(int vgap); setAlignment(int align);
Пример 4. 4 (FlowLayout). package simpleframe; import java. awt. FlowLayout; import javax. swing. *;
class FlowTest extends JFrame{ FlowTest(String s){ super(s); setLayout(new FlowLayout(FlowLayout. LEFT, 10, 10)); add(new JButton(" Кнопка" )); add(new JLabel(" Метка" )); add(new JCheckBox(" Выбор" )); add(new JComboBox()); add(new JTextField(" Ввод", 10)); setSize(300, 100); setVisible(true); } }
public class SimpleFrame {
public static void main(String[] args) {
JFrame f= new FlowTest(" Менеджер FlowLayout" ); f. setLocation(400, 200); f. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); } } BorderLayout Менеджер размещения BorderLayout делит контейнер на пять неравных областей, полностью заполняя каждую область одним компонентом. Области получили географические названия — NORTH, SOUTH, WEST, EAST и CENTER. Метод add() в случае применения BorderLayout имеет два аргумента: ссылку на компонент comp и область region, в которую помещается компонент — одну из перечисленных ранее констант: add(Component comp, String region).
Обычный метод add(Component comp) с одним аргументом помещает компонент в область CENTER. Ссылку на компонент, помещенный в определенную область, можно получить методом getLayoutComponent(Object region);
Пример 4. 5. (BorderLayout). class BorderTest extends JFrame{ BorderTest(String s){ super(s); add(new JButton(" North" ), BorderLayout. NORTH); add(new JButton(" South" ), BorderLayout. SOUTH); add(new JButton(" West" ), BorderLayout. WEST); add(new JButton(" East" ), BorderLayout. EAST); JTextField tf=new JTextField(" Центр" ); tf. setBackground(Color. yellow); tf. setForeground(Color. RED); tf. setHorizontalAlignment(JTextField. CENTER); add(tf); setSize(300, 200); setVisible(true); setVisible(true); }
public static void main(String[] args){ JFrame f= new BorderTest(" Менеджер BorderLayout" ); f. setDefaultCloseOperation(EXIT_ON_CLOSE); } } Менеджер размещения BorderLayout может показаться неудобным: он располагает не больше пяти компонентов, последние растекаются по всей области, области имеют странный вид. Но дело в том, что в каждую область можно поместить не компонент, а панель, и размещать компоненты на ней, как сделано в примере 4. 6 и показано на рис. На панелях Panel и JPanel менеджер размещения по умолчанию — FlowLayout. Пример 4. 6. (BorderLayout)
import java. awt. *; import javax. swing. *;
class BorderPanelTest extends JFrame{
BorderPanelTest(String s){ super(s);
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|