Программирование >>  Руководство по созданию web приложений 

1 ... 120 121 122 [ 123 ] 124 125 126 ... 141


Установка режима - а выполняется при помощи метода - .

как это показано ниже: aetLayoutfrie* : 0);

Далее компоненты добавляются в окно контейнера методом add, например:

TextField tf; Button btnSetNaiae;

adclitf i:

aci<J(t)taGetBaie); Режим u:irM-

Режим - - i предполагает разделение окна контейнера на рамку и цен-

тральную часть. Методу add при этом . . . а . i i от центра окна, в котором следует размещать компоненты.

Направление указывается следующим образом:

; центр . 1)1 ; восток

1)1 и,а ; запад

1)11 Ill: еезар

1)1 1Г) юг

Здесь мы в окно контейнера компоненты .а I, btaS, Нри этом

компонент располагается в центре окна а остальные компонен-

ты - по бокам. Размеры изменяются таким образом, чтобы они

полностью заполняли контейнер.

Заметим, что Вы не- обязаны каждый раз добавлять в контейнер именно пять компонентов и задействовать при этом все возможные

Режим CardLsyout

Режим размещения CardLayout предназначен для поочередного размещения нескольких . а в одном контейнере (например, класса Panel).

Нри добавлении компонента в контейнер необходимо передать его имя методу add через первый параметр, например:

picFrame р1;

р1 = new oieFranaC): adeCpicO , pi);

Остальные компоненты добавляются аналогичным образом. В классе С ardLay out предусмотрено несколько методов, предназначенныхдля выбора отображаемого компонента. Эти методы перечислены в таблице 9-1.

Таблица 91. Методы для выбора компонента

Метод KoMnojteHT для OTJO&paжeния

first Первый

last Последний

next С.елуимпаа

previous Предыдущий

show . :.. заданный своим именем



Всем указанным методам, кроме метода show. : . через единственный параметр ссьшка на родительский контейнер, в котором выполняется разметце-ние. .. . show через второй параметр дополнительно передается имя компонента (как строка класса String).

Режим it

режим размегцения системы . .-. . . -это режим GridBag-Layout. Он считается наиболее трудным, однако по сравнению с другими режимами он очень гибкий. В ряде случаев Вам просто не обойтись него.

Так же как и рассмотренный нами режим- режим GridBag-

Layout предполагает размегцение компонентов в ячейках некоторой таблицы заданной размерности. Вот наиболее важные отличия между этими режимами:

4 в режиме GridLayout размегцаемые . . : . : изменяют свои размеры таким образом, чтобы заполнить ячейки таблицы, в которых они . . . ся. Режим GridBagLayout т контролировать этот процесс, причем при необходимости Вы можете задать стратегию такого изменения или отказаться от него вовсе;

i в, . GridLayout каждый компонент занимает только одну ячейку. Что же касается режима ..; то здесь компоненты могут занимать

несколько смежных ячеек в строках или столбцах;

I при изменении размеров контейнера во время работы приложения при использовании режима GridLayout все компоненты неизбежно изменяют свои размеры. Это далеко не всегда удобно. В режиме GridBagLayout Вы можете управлять стратегией изменения размеров компонентов или отказаться от такого изменения.

Режим размегцения компонентов GridBagLayout удобен для создания диалоговых панелей, содержагцих такие как текстовые поля редактирования, :: кнопки и т. д.

Выбирая соответствуюгцим образом параметры размегцения ; понентов путем заполнения соответствующих полей класса а. можно создавать панели, напоминающие по своему внещнему виду и поведению стандартные диалоговые панели Windows или других операционных систем с графическим интерфейсом. При этом мекаю]цугжтык, чтобы размеры компонентов и их взаимное расположение не изменялись при корректировке размеров окна контейнера. Это невозможно при работе в других режимах размещения, таких, как l-1uw! .oyiiin или GridLayout.

Как пользоваться режимом размещения GridBagLayout?

Схема достаточно проста.

Прежде всего Вы должны создать объект класса GridBagLayout при помощи конструктора и выбрать его, как это показано ниже:

GridBagLayout оЫ. = new SrlclBagLaootO: setLayout(gbl);

Далее Вам нужно создать объект класса GridBagConstraints, поля которого будут определять параметры . отдельных компонентов:

GridBagConstraints с = new



Далее нужно задать значения полей объекта класса GridBagConstraints, так (позже мы расскажем о отдельных полей):

c.gridx c.gridy

GridBagConstraints. NONE;

= 1;

- - - MOEHi

= new lnsets(40, 0, 0, 0); = 0; = 0;

= 0.0;

Подготовив объект класса OridBagConstraints, Вам нужно установить его в системе Layout Manager методом setConstraints и добавить очередной компонент в окно контейнера методом add:

tf = new TextFialDOO); gbl.setConstraints(tf, с); add(tf);

Далее описанная процедура - над всеми остальными а: ;

ми компонентами, причем объект класса GridBagConstraints можно ае создавать каждый раз заново, а : ...

По если все так . то в чем же тогда сложность работы с режимом раз-

Очевидно, дело в выборе значений параметров . класса GridBagConst-

raints.

Перечислим эти поля и дадим их краткую характеристику. инфор-

мацию Вы найдете в документации JDK.

Поля и gridy

Поля и gridy задают соответственно номер столбца и номер строки для

ячейки, в которую будет помещен компонент. Левой верхней ячейке соответствуют нулевые значения.

В качестве для этих полей можно также указывать константу Grid-

SagCanatr RELATIVE. Если эта константа указана в поле grldx, номер столбца размещаемого компонента будет на единицу больше номера столбца для компонента, размещенного ранее. и для поля grldv.

Вы можете использовать значение GridBagConstraints. RELATIVE в данных полях при последовательном размещении компонентов в ячейках таблицы в направлении слева направо и сверху вниз.

Поля jililfiliJtli и gridheight

Поля gridwidtli и gridlieiglit количество ячеек, занимаемых добав-

ляемым компонентом.

Если компонент полностью помещается в одну ячейку. Вы вправе задать в этих полях равное единице. Если же должен занимать, на-

пример, две смежные ячейки в строке, то для ; : нужно .аа.аа га зна-

чение, равное двум, а для gridheight - значение, равное единице.



1 ... 120 121 122 [ 123 ] 124 125 126 ... 141

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика