Графические интерфейсы пользователя Java. Тимур Машнин
Чтение книги онлайн.

Читать онлайн книгу Графические интерфейсы пользователя Java - Тимур Машнин страница 7

СКАЧАТЬ на ячейки сетки, не требуя, чтобы компоненты были одного размера.

      При этом каждый компонент, управляемый компоновкой, ассоциируется с экземпляром GridBagConstraints.

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

      Для использования этой компоновки сначала создается экземпляр GridBagLayout, который устанавливается для контейнера методом setLayout.

      Затем создается экземпляр GridBagConstraints, параметры которого изменяются для каждого компонента.

      gridx и gridy указывают номер ячейки для компонента.

      gridwidth и gridheight указывают количество столбцов и строк, которые компонент занимает.

      fill указывает что делать с компонентом, который меньше, чем размер ячейки.

      ipady и ipadx указывают отступ.

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

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

      Для этого нужно точно указывать координаты компонента и его размеры, например, с помощью метода setBounds.

      До сих пор мы рассматривали окно Frame.

      Однако помимо окна Frame, библиотека AWT позволяет создавать диалоговые окна с помощью класса Dialog.

      Для создания диалогового окна, которое открывается из окна Frame, нужно создать экземпляр класса Dialog, указав в его конструкторе родительское окно, из которого будет открываться данное диалоговое окно.

      Также можно указать заголовок окна и будет ли окно модальным, то есть будет ли оно блокировать все входные данные для окон верхнего уровня.

      Далее можно наполнить диалоговое окно содержимым, напомним, что по умолчанию компоновка диалогового окна – это BorderLayout.

      Для закрытия окна, к его компоненту нужно присоединить слушателя, в обработчике которого нужно вызвать метод setVisible (false) окна, сделав его невидимым.

      Далее в основном окне, к его компоненту нужно присоединить слушателя, в обработчике которого нужно вызвать метод setVisible (true) диалогового окна, сделав его видимым.

      И наконец, методом add нужно добавить диалоговое окно в основное окно, как обычный компонент.

      Модель событий AWT

      Мы уже несколько раз сталкивались со слушателями событий и обработчиками событий.

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

      Например, когда пользователь нажимает на мышь, низлежащая среда выполнения генерирует событие, которое оно отправляет в программу.

      Затем программа должна СКАЧАТЬ