к оглавлению   к 4GL - визуальному программированию

Разработка форм

Forms Designer — средство визуальной разработки форм для Ваших приложений. Создаваемая с его помощью двухмерная форма превращается в исходный код, который базируется на WFC (Windows Foundation Classes for Java). Forms Designer поддерживает такие функции RAD (Rapid Application Development), как генерация кода, автоматическое завершение операторов, быстрый анализ синтаксиса, вставка отладочной информации. Кроме того, он предоставляет инструменты для:

Создание формы

Вы можете добавить форму в приложение через меню Project. Объекты (компоненты и элементы управления) можно вставлять на форму простым перемещением с панели Toolbox. Форма сохраняется как блок исходного кода, определяющего экземпляр WFC-класса Form.

Исходный класс Form содержит:

Forms Designer генерирует код, учитывая значения, установленные в окне Properties для каждого элемента управления и самой формы. Будьте осторожны, модифицируя метод initForm, так как Forms Designer считывает его код при отображении формы. Кроме того, избегайте в нем условных операторов (if, while или switch) и методов компонентов. Если Вы все же редактируете код метода initForm, ограничьтесь изменением значений непосредственно в свойствах с префиксом set "и не используйте переменных. Например: правильно: setSize(10,100); неправильно: х=10; у=100; setSize(x.y);

Чтобы создать форму:

  1. Откройте существующий или создайте новый проект.
  2. В окне Project Explorer щелкните имя своего проекта.
  3. Выберите из меню Project команду Add Form.
  4. В диалоговом окне Add Item активизируйте вкладку New или Existing. Допустим, Вы выбрали вкладку New.
  5. Щелкните значок Form. Этот шаблон создает класс, способный «нести» элементы управления.
  6. В поле Name введите имя файла класса. Его имя по умолчанию -Forml.java.
  7. Щелкните кнопку Open.

На экране появляется окно формы, показывающее ее поверхность. Если Вы создаете новую форму по шаблону, она автоматически открывается в режиме конструирования (design mode).

Если Forms Designer в данный момент неактивен, откройте его по следующей процедуре.

Чтобы просмотреть форму в Forms Designer:

— или —

По умолчанию элементы управления выравниваются на форме по сетке, параметры которой определяются в диалоговом окне, открываемом командой Options из меню Tools. Свойства формы можно модифицировать прямо на странице свойств этой формы.

Панель Toolbox содержит WFC-элементы и, в ряде случаев, другие вкладки, открывающие доступ к ActiveX-элементам и нестандартным элементам управления. Создав форму, можете размещать на ней элементы управления.

Управление панелью Toolbox

Forms Designer включает панель Toolbox с исходными элементами управления, которые — в зависимости от типа — распределены по вкладкам. Вы можете вводить в Toolbox свои вкладки и добавлять нестандартные элементы управления на любые вкладки.

Чтобы добавить объекты в Toolbox:

— или —

Вставьте в Toolbox элемент, скопированный в буфер обмена.

— или —

Перетащите выделенный фрагмент кода или текста из встроенного текстового редактора в Toolbox, а затем перетаскивайте полученный элемент в другие файлы или окна, где Вы хотите использовать этот фрагмент.

Примечание Отображаются только компоненты, которые расширяют com.ms.wfc. core.Component и у которых установлен атрибут ShowInToolbox (он равен true по умолчанию).

Чтобы сгруппировать свои инструменты, Вы можете:

Примечание Попытка переместить неперемещаемый элемент приводит к его копированию на другую вкладку.

Вы можете добавлять и настраивать вкладки в Toolbox:

Чтобы вывести объекты Toolbox в виде списка:

Чтобы вывести объекты Toolbox в виде значков:

Чтобы удалить объекты из Toolbox:

Чтобы восстановить удаленный элемент:

  1. Щелкните Toolbox правой кнопкой мыши и выберите из контекстного меню команду Customize Toolbox.
  2. В диалоговом окне Customize Toolbox перейдите на вкладку WFC Controls.
  3. На вкладке WFC Controls установите флажок рядом с названием элемента управления, который Вы хотите добавить в Toolbox.

Добавление элементов управления на форму

Вы добавляете элементы управления на форму в режиме конструирования.

Чтобы добавить элемент управления на форму:

Примечание Когда элемент управления помещается на форму на этапе разработки, добавляется лишь имя класса для этого элемента. Соответствующий код генерируется только после закрытия формы. Если Вы модифицируете существующий элемент управления, уже включенный в Toolbox, то, чтобы форма получила обновленные файлы классов для этого элемента, закройте и снова откройте ее или перезагрузите проект.

Чтобы изменить размеры элемента управления:

Примечание То же самое можно сделать клавишами-стрелками при нажатой клавише Shift.

Чтобы добавить шаблон обработчика события:

Примечание Обработчики событий можно добавлять через окно Properties в режиме просмотра событий.

Добавление обработчика события

Forms Designer позволяет создавать обработчики событий (event hadlers). Обработчик события — блок Вашего кода, который определяет операции, выполняемые при возникновении некоего события (например, щелчка кнопки).

Так, обработчик события mouseDown предоставляет объект mouseEvent, через который можно выяснить, какая кнопка мыши была нажата, где в этот момент находился курсор мыши и какие клавиши на клавиатуре удерживались при щелчке.

Вы можете добавить обработчик события, используя окно Properties в режиме просмотра событий. А чтобы добавить обработчик события по умолчанию, достаточно дважды щелкнуть нужный элемент управления или форму. Более того, Вы можете закрепить существующий обработчик за событиями других элементов управления — если совпадают сигнатуры их событий.

Чтобы добавить обработчик события через окно Properties в режиме просмотра событий:

  1. Щелкните нужный элемент управления или форму.
  2. В окне Properties щелкните кнопку переключения в режим просмотра событий (со значком молнии).
  3. В списке доступных событий выберите то, что Вас интересует (допустим, click).
  4. В поле справа от имени события введите имя обработчика (например, MyButton_click) и нажмите клавишу Enter.

При этом генерируется примерно такой шаблон кода:

private void MyButton_click(Object sender, Event e)

{

}

В данном случае sender — источник события, a e — объект Event, который предоставляет информацию о событии.

Чтобы добавить обработчик для события по умолчанию:

Чтобы один обработчик реагировал на события, общие для нескольких элементов управления:

  1. В окне Properties (в режиме просмотра событий) щелкните имя события для первого элемента управления.
  2. В поле справа от имени события введите имя обработчика и нажмите клавишу Enter.
  3. Щелкните на форме второй элемент управления.
  4. В окне Properties (в режиме просмотра событий) щелкните имя события для второго элемента управления.
  5. Раскройте список существующих обработчиков этого типа событий.
  6. Выберите имя нужного обработчика. В этом случае используется лишь существующий обработчик — новые шаблоны в коде не создаются.

Форматирование форм

Вы форматируете размещенные на форме объекты, изменяя параметры сетки и свойства, относящиеся к группе location, а также вызывая команды из меню Format.

Чтобы изменить свойства элемента управления, относящиеся к группе location:

  1. Щелкните нужный элемент управления.
  2. Выберите из меню View команду Properties Window.
  3. В окне Properties дважды щелкните свойство location, чтобы раскрыть этот узел.
  4. Введите значения свойств для х- и у-координат.

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

Чтобы установить параметры сетки:

  1. Выберите из меню Tools команду Options.
  2. В разделе диалогового окна Options, где представлено дерево Вашего проекта, дважды щелкните Forms Designer, затем — WFC.

    Это диалоговое окно позволяет устанавливать значения, используемые по умолчанию при выводе сетки, в том числе ее высоту и ширину в пикселах, а также включать и отключать выравнивание по линиям сетки. Команды меню Format позволяют:

Чтобы выровнять два элемента управления на форме:

  1. Щелкните первый элемент (он становится эталонным), нажмите клавишу Ctrl и, удерживая ее, щелкните второй элемент.
  2. Выберите из меню Format команду Align, а в подменю — Lefts. Второй элемент управления будет выровнен по левому краю первого. Примечание Элементы управления можно размещать один поверх другого.

Модификация поведения элементов управления при размещении на форме

Forms Designer позволяет определить поведение элементов управления при их размещении на форме. Например, Вы можете привязать метку к верхнему краю формы или изменить принципы стыковки формы и элементов управления,

Чтобы привязать элемент управления к какому-то участку формы:

  1. Поместите элемент на форму.
  2. Щелкните его, чтобы в окне Properties появился список его свойств.
  3. В окне Properties дважды щелкните свойство anchor.
  4. В редакторе Anchor щелкайте пересекающиеся полоски, чтобы включить или отключить привязку элемента к краю формы.

Чтобы изменить принципы стыковки:

  1. Поместите элемент на форму.
  2. Щелкните его, чтобы в окне Properties появился список его свойств.
  3. В окне Properties дважды щелкните свойство dock.
  4. В редакторе Docking щелкайте полоски, чтобы включить или отключить стыковку для данного элемента. Для отключения стыковки можно щелкнуть кнопку None.

Примечание Размеры элемента управления автоматически подгоняются под границы, с которыми он стыкуется.

Большинство элементов управления можно стыковать с краями формы или сделать так, чтобы они автоматически заполняли всю форму.

Установка свойств через окно Properties

Свойства — это атрибуты, определяющие внешний вид, позицию и поведение элемента управления в период выполнения. С каждой формой и каждым элементом управления связана страница свойств. Модификация свойств на этой странице (т. е. в окне Properties) влияет на код, генерируемый для данного элемента в методе initForm. Для формы в окне Properties можно установить такие свойства, как цвет фона, видимость, шрифт, исходный размер, позиция и т. д.

Чтобы изменить свойства элемента управления или формы:

  1. Щелкните нужный элемент или форму. В окне Properties появится страница свойств, связанная с этим элементом или формой.
  2. Выберите свойство, которое Вы хотите модифицировать, — например font, чтобы изменить начертание шрифта, которым выводится название кнопки.

Примечание Если Вы выделите группу элементов управления, то в окне Properties появятся только свойства, общие для этих элементов.

При установке сложных свойств используются стандартные диалоговые окна и редакторы для:

Для доступа ко вторичным свойствам щелкните узел составных свойств (compound properties).

Создание меню для форм

Специальные элементы управления, предоставляемые Forms Designer, позволяют создавать основные и контекстные меню.

Добавление и модификация меню

Если Вы хотите, чтобы пользователь Вашего приложения мог выбирать какие-то команды, то меню — самый удобный и простой способ сгруппировать их по назначению. Строка меню появляется сразу под заголовком формы и содержит одно или несколько меню. Щелкнув меню (например, File), Вы раскрываете список его элементов, к которым относятся команды (допустим, New или Exit), разделительные линии и подменю. Каждый элемент меню, который виден пользователю, соответствует определяемому Вами свойству элемента управления «меню».

Чтобы добавить на форму меню:

  1. На вкладке WFC Controls панели Toolbox дважды щелкните элемент MainMenu.

Примечание Элемент управления можно просто перетащить на форму. На форму будет вставлен элемент управления MainMenu. При этом в первой позиции строки меню появляется текстовое поле.

Примечание По умолчанию свойство mainMenu для формы устанавливается как mainMenul.

  1. Введите в это поле название первого меню — наберите, например, File, чтобы добавить меню File.

Введенное Вами название добавляется в меню, и текстовое поле смещается ниже, в следующую позицию. Повторяйте эту операцию, пока не введете в меню названия всех элементов, а затем переходите к следующему меню.

Названия некоторых команд меню могут меняться в зависимости от состояния приложения (скажем, File/Save и File/Save As). Команды меню можно включать или отключать, помечать галочкой, скрывать или делать видимыми.

Если Вы хотите сменить меню, используемое формой, присвойте свойству menu другое имя меню, например mainMenu2. К меню или элементу меню (кроме разделителя) можно добавить клавишу доступа (access key), обеспечивающую доступ к меню или элементу меню с клавиатуры. Клавиша доступа соответствует подчеркнутой букве в названии меню или элемента.

Чтобы добавить клавишу доступа к меню (или элементу):

  1. Щелкните название нужного меню.
  2. Поместите курсор непосредственно перед буквой, которая будет соответствовать клавише доступа, и введите знак &. Например, щелкните меню File, поместите курсор перед буквой F и введите &. То же самое можно сделать, отредактировав значение свойства Text элемента меню.

Ускорить вызов команд меню помогают так называемые быстрые клавиши (shortcut keys). Быстрая клавиша — это комбинация клавиш, активизирующая конкретную команду (например, Ctrl + С вызывает команду копирования). Само меню при этом не открывается.

Чтобы добавить быструю клавишу к элементу меню:

  1. Щелкните справа от названия нужного элемента меню, и появится раскрывающийся список.
  2. Выберите из списка подходящую комбинацию клавиш.

    — или —

    В окне Properties щелкните свойство shortcut и выберите комбинацию клавиш.

Чтобы удалить быструю клавишу:

  1. Выделите элемент меню.
  2. Установите свойство shortcut как попе.

Иногда очень удобно, чтобы команды меню действовали подобно переключателям. Например, в Вашем приложении доступно несколько панелей инструментов. Тогда в меню можно включить команды с именами этих панелей. Выбрав команду в первый раз, пользователь выводит панель на экран, а рядом с командой появляется галочка. Повторный выбор той же команды скрывает панель инструментов и удаляет галочку рядом с названием команды в меню.

Чтобы включить поддержку галочек в элемент меню:

  1. Выделите элемент меню.
  2. Щелкните слева от названия элемента меню. Появится специальный флажок.

    — или —

    В окне Properties щелкните свойство checked.

Чтобы переместить меню или элемент меню:

  1. Выделите нужный элемент меню.
  2. Переместите его мышью в новую позицию.

Примечание Перемещение собственно меню вызывает перемещение и всех его элементов.

Чтобы изменить название меню или элемента меню:

  1. Щелкните меню или элемент меню, название которого Вы хотите изменить.
  2. Отредактируйте содержимое текстового поля. Разделительные линии помогают группировать команды в меню.

Чтобы создать в меню разделительную линию:

  1. Щелкните элемент меню, под которым Вы хотите вставить разделитель.
  2. Нажмите клавишу с дефисом (-), затем — Enter.

    — или —

    Щелкните этот элемент меню правой кнопкой мыши и выберите из контекстного меню команду Insert Separator.

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

Чтобы удалить элемент меню:

Примечание Чтобы удалить все меню, поочередно выделяйте их и нажимайте клавишу Del. Или щелкните удаляемый элемент управления MainMenu и нажмите клавишу Del.

Forms Designer требует подтверждать удаление только тех меню, где есть подменю.

Чтобы отредактировать имя, сопоставленное с элементом меню:

  1. Щелкните нужный элемент меню правой кнопкой мыши.
  2. Выберите из контекстного меню команду Edit Names, чтобы, переключиться в режим Edit Names.
  3. Теперь щелкайте нужные имена (например, menulteml) и редактируйте их.

Контекстные меню

Контекстные меню можно сопоставлять с элементами управления на форме. Такое меню появится, когда пользователь щелкнет элемент управления правой кнопкой мыши.

Чтобы добавить на форму элемент управления «контекстное меню»:

  1. На вкладке WFC Controls панели Toolbox дважды щелкните элемент ContextMenu.

Примечание Элемент управления можно просто перетащить на форму.

  1. Для перехода в режим конструирования дважды щелкните добавленный элемент управления ContextMenu.

Чтобы закрепить контекстное меню за каким-нибудь элементом управления:

  1. Щелкните элемент управления, с которым Вы хотите связать контекстное меню.
  2. В окне Properties введите в свойство ContextMenu имя контекстного меню. По умолчанию первому контекстному меню присваивается имя contextMenul.

    Элементы управления «контекстное меню» редактируются точно так же, как и элементы управления MainMenu. Подробнее см. предыдущий раздел.

Добавление всплывающих подсказок к элементам управления на форме

Всплывающая подсказка (ToolTip) — строка текста, которая появляется, когда курсор мыши «замирает» над элементом управления. В Visual J + + функциональность всплывающих подсказок поддерживается отдельным WFC-элементом. Задержку перед выводом подсказки, время ее отображения и другие свойства можно установить на страницах свойств каждого элемента управления, размещенного на форме.

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

  1. Откройте вкладку WFC Controls панели Toolbox и добавьте на форму элемент ToolTip.
  2. Присвойте соответствующему свойству каждого элемента управления текст всплывающей подсказки.

Генерация кода

Visual J + + синхронизирует изменения в визуальном представлении формы и в ее коде. Однако визуальные изменения не сразу отражаются в исходном коде. Код, используемый для создания визуального представления формы, блокируется, пока активен Forms Designer, и обновляется только после закрытия окна конструктора или при сохранении формы (модификация метода initForm откладывается до закрытия Forms Designer).

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

class isEditable extends [UserControl, Form, Design Page] {

Container components = new Container(this);

private void initForm() {

[сюда помещается код, инициализирующий форму]

} }

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

к оглавлению   к 4GL - визуальному программированию

Знаете ли Вы, что, как и всякая идолопоклонническая религия, релятивизм ложен в своей основе. Он противоречит фактам. Среди них такие:

1. Электромагнитная волна (в религиозной терминологии релятивизма - "свет") имеет строго постоянную скорость 300 тыс.км/с, абсурдно не отсчитываемую ни от чего. Реально ЭМ-волны имеют разную скорость в веществе (например, ~200 тыс км/с в стекле и ~3 млн. км/с в поверхностных слоях металлов, разную скорость в эфире (см. статью "Температура эфира и красные смещения"), разную скорость для разных частот (см. статью "О скорости ЭМ-волн")

2. В релятивизме "свет" есть мифическое явление само по себе, а не физическая волна, являющаяся волнением определенной физической среды. Релятивистский "свет" - это волнение ничего в ничем. У него нет среды-носителя колебаний.

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

4. В гравитационном релятивизме (ОТО) вопреки наблюдаемым фактам утверждается об угловом отклонении ЭМ-волн в пустом пространстве под действием гравитации. Однако астрономам известно, что свет от затменных двойных звезд не подвержен такому отклонению, а те "подтверждающие теорию Эйнштейна факты", которые якобы наблюдались А. Эддингтоном в 1919 году в отношении Солнца, являются фальсификацией. Подробнее читайте в FAQ по эфирной физике.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution