Графические интерфейсы и средства их разработки. Создание графического интерфейса пользователя средствами Win32 API. Разнообразные управляющие элементы: кнопки, поля ввода текста и т.д

Графические интерфейсы и средства их разработки. Создание графического интерфейса пользователя средствами Win32 API. Разнообразные управляющие элементы: кнопки, поля ввода текста и т.д

03.04.2019

СТРУКТУРА ДОКУМЕНТА

4.1. Технология визуального программирования

4.1.2. Главное окно Visual Studio

4.1.3. Главное меню VS и панель инструментов

4.1.4. Окна панелей Visual Studio

4.1.5. Настройка параметров интегрированной среды разра ботки VS

4.1.6. Тестовые задания

4.1.7. Лабораторная работа по теме «Среда разработки VS .NET»

4.1. Технология визуального программирования
и основные понятия

По сравнению с предыдущими поколениями языков программирования, языкпрограммирования высокого уровня Visual Basic .Net (VB)имеет ряд принципиальных отличий. Это мощная, профессиональная система программирования, позволяющая быстро и эффективно создавать приложения для MS Windows. Поскольку система является «визуальной », программист может создавать видимую часть приложения MS Windows, не написав почти ни строчки программного кода. Эта видимая часть является основой интерфейса пользователя « программный проект – пользователь », с помощью которого осуществляется взаимодействие пользователя с программным проектом. Разработка, как программного кода классов и методов для решения поставленной задачи, так и программного интерфейса приложения осуществляется на принципах объектно-ориентированного подхода , реализованного в Visual Studio .Net (VS). Приложения (проекты) выполняются под управлением MS Windowsс помощью Интегрированной Среды Разработки (IDE) .

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



Первая является следствием свойств объекта. Эти свойства устанавливаются разработчиком ПО из некоторого стандартного перечня свойств, заданного системой программирования и/или самой MS Windows. Примером таких действий является свертывание окна после щелчка по кнопке Свернуть. Изменить поведение объекта в подобных случаях программист не может. Однако во многих случаях имеется определенная возможность вариации отклика объекта на событие (текст, шрифт, цвет, размер, место на экране и др.) путем задания определенных свойств.

Вторая группа действий (отклика) на события полностью определяется разработчиком ПО. Это обеспечивается возможностью задания процедуры VBдля каждого возможного события. Первоначально каждая такая процедура является пустой, без тела процедуры, и, следовательно, когда происходит событие, ничего не случается. Теоретически можно создать процедуру для любого события, но на практике программист заполняет программным кодом процедуры только для тех событий, которые представляют интерес.

Таким образом, VBпредоставляет пользователю объектно-ориентированную среду программирования, основанную на событиях. Упрощенно говоря, процесс разработки программного проекта в этой среде сводится к выбору набора объектов и их свойств, заданию событий и процедур их обработки, и создания ПО для решения задачи, которые в совокупности обеспечивают функционирование создаваемого приложения.

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

Объект (Object) – это некая отдельная сущность, отличающаяся от других сущностей особыми свойствами, поведением, взаимодействием с другими объектами приложения. При объектно-ориентированном подходе любое приложение представляет собой набор взаимосвязанных объектов, реализующих необходимые функциональные требования, предъявленные к приложению. Объект всегда конкретен и реально существует на форме (в качестве элементов управления) или в приложении (в виде экземпляров классов).

Основной единицей в объектно-ориентированном программировании является программный объект, который объединяет в себе как описывающие его данные (свойства), так и средства обработки этих данных (методы). То есть, программные объекты обладают свойствами, могут использовать методы и реагировать на события.

Основными объектами визуального программирования являются форма и ее элементы управления.

Форма (Form) – это объект, представляющий собой окно, на котором размещаются элементы управления, например, Кнопка(Button); Метка(Label); ТекстовоеПоле(TextBox); Флажок(CheckBox); Список(ListBox); РаскрывающийсяСписок(ComboBox); Переключатель(RadioButton )и др.

Среда визуального программирования позволяет увидеть объекты на экране на этапе проектирования приложения, дает возможность настроить объекты, изменяя их расположение, размеры и другие свойства. Форма является контейнером объектов , ив то же время сама также является объектом. При размещении объекта на форме основные параметры объекта сохраняются в исполняемом программном коде. При этом объектами также являются программные блоки или фрагменты программного кода (классы, процедуры, методы, модули), из которых «собирается» проектируемый проект (приложение).

Свойство объекта – это значение или характеристика, хранимая объектом. В то же время совокупность свойств объекта определяет его состояние. Например, Текст (Text) или Цвет (BackColor) формы, способ Выравнивания текста (Alignment) или Цвет символов (ForeColor) текстового поля – это свойства. В программе обращение к объекту происходит по имени объекта . Свойства объектов можно задавать в окне Свойства и менять свойства объектов в программном коде.

В программном коде существуют определенные правила (определенный формат) для установки свойства – имя объекта и название свойства согласно правилам точечной нотации разделяются точкой .

Класс – это совокупность объектов, обладающих общими свойствами и поведением. Например, Button1 (Кнопка1) на Form1 (Форма1) со всеми своими конкретными свойствами и действием является объектом класса Button. Класс характеризуется такими основополагающими понятиями объектно-ориентированного программирования, как:

· наследование – объект класса обладает всеми свойствами, методами и событиями класса;

· инкапсуляция – сокрытие сложного механизма действия объекта;

· полиморфизм – объекты разных классов могут использовать одноименные методы, работающие по-разному для разных объектов.

Коллекция объектов – это набор объектов, объединенных общим именем, причем не обязательно это объекты одного класса. Примером коллекций могут служить встроенные в VBколлекции, в числе которых:

· Forms (Формы) – множество загруженных форм приложения;

· Controls (Элементы управления) – множество всех элементов управления в форме.

Пространство имен – это иерархическая библиотека классов, организованная под уникальными именами такими, например, как System.Windows или System.Math. Для доступа к классам и основанным на них объектам, входящим в пространство имен, в начале программного кода может быть помещен оператор Imports. Каждый проект в VSтакже содержит корневое пространство имен. Пространство имен в документации по VSназывается также библиотеками классов .

Событие – это средство взаимодействия объектов друг с другом. Событие может создаваться пользователем или возникать в результате воздействия других программных объектов. Объекты могут генерировать события и выполнять действия вответ на заданные события. Примеры событий – формы, Click ( Щелчок) мышью по объекту, DblClick ( Двойной щелчок) мышью и другие. В качестве реакции на события вызывается событийная процедура, которая может изменять свойства объекта, вызывать его

В языке VB, как и во многих других языках программирования, предназначенных для написания приложений для MS Windows, используется
событийно-управляемая модель программирования. Фактически это означает, что ни одно приложение не может функционировать само по себе, не взаимодействуя с другими приложениями и с операционной системой. Для примера возьмем самый простой случай, когда команда задана нажатием клавиши на клавиатуре. Она не может непосредственно воздействовать ни на одно из приложений, и MS Windowsв данном случае выступает в роли посредника. Восприняв событие, связанное с нажатием клавиши, операционная система решает, куда передать обработку этого события. Затем сообщение о нажатии клавиши посылается приложению. Приложение обрабатывает его, анализируя ввод с клавиатуры, и отображает сообщение, например, в активном текстовом поле.

Приложения, созданные с помощью VB, работают потому же принципу. При этом VBвыполняет как бы внутреннюю работу. Например, когда в приложении происходит щелчок мышью по кнопке, возникает событие – VBперехватывает соответствующее сообщение MS Windowsи вызывает событие Click объекта Button.

Обратите внимание, что в программах, управляемых событиями, нет сплошного программного кода, который выполняется от начала до конца. Это значит, что после запуска программы у пользователя нет и четкого представления о конкретном пути выполнения алгоритма. То есть, можно в любое время щелкнуть по какой-либо кнопке в приложении или выполнить, например, ввод текста в поле, а можно при желании и прекратить обработку. Поэтому приложение вынуждено ждать, пока одно из этих событий не наступит, и только потом выполняет заданный программный код. Таким образом, для начала выполнения программного кода всегда необходимо событие – это одно из важнейших правил создания приложений в среде MS Windows.

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

Кроме событийных процедур пользователь может создать общие процедуры (процедуры пользователя).

Процедура пользователя – это законченный программный код, который реализует отдельный алгоритм решаемой задачи. Однако вызов такой процедуры происходит по имени этой процедуры, а не как результат какого-либо события.

Метод – это процедура, которая реализует действия, возможные с объектом. В результате этих действий в объекте что-либо меняется. VBпредоставляет пользователю большое количество встроенных процедур, находящихся в библиотеке, и, готовых к использованию. Эти процедуры являются неотъемлемой частью библиотеки классов, то есть являются методами классов, Framework .NET.

Средства процедурного программирования (процедуры) – неотъемлемая часть любого языка программирования высокого уровня, которая является одной из основных частей парадигмы современного программирования. Но лишь при появлении языков, поддерживающих объектно-ориентированное программирование, были введены особые типы встроенных процедур, названные методами . Методы «работают» как процедуры, но принадлежат конкретным объектам, так же, как и свойства. В программном коде обратиться к методу можно так же, как и к свойству с использованием точечной нотации.

В среде VBможно создавать собственные процедуры, создаваемые разработчиком ПО.

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

Процедуры-подпрограммы начинаются ключевым словом Sub End Sub , а процедуры-функции начинаются ключевым словом Function и заканчиваются ключевыми словами End Function, между которыми помещается программный код данной процедуры. Программный код каждой процедуры состоит из одного или нескольких операторов языка программирования VB.

Метод обработки события – это законченный программный код, который реализует отдельный алгоритм. Для каждого события можно запрограммировать отклик, т. е. реакцию объекта на произошедшее событие, в результате будет выполнена некоторая последовательность действий – метод обработки события.

Имя событийной процедуры состоит из трех частей (включая подчеркивание): ИмяОбъекта_ИмяСобытия.

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

Оператор – это конструкция языка программирования, задающая одну или несколько операций , производимых над операндами . В качестве операндов могут выступать константы, переменные, выражения, функции и т.д. Любой оператор записывается в соответствии с синтаксическими правилами языка программирования. Например, в операторе присваивания знак «= » читается «присвоить» и означает, что в память компьютера записывается значение, равное значению выражения справа от знака «= ». Например, строка

Form4.1.Text = "Форма с картинкой" означает, что в памяти с именем Form4.1.Text записывается значение – текст "Форма с картинкой" , а строка Р=А+В+С используется в программе для вычисления значения выражения и присваивания его переменной Р.

Проект – это разрабатываемое приложение (программный код приложения) – набор файлов, в которых хранится информация обо всех программных компонентах, используемых в данном приложении. Поскольку VB, с одной стороны – это система объектно-ориентированного визуального программирования, так как позволяет программировать алгоритмы на этом языке, а с другой стороны, эта система является средой проектирования ПО, то результатом процессов программирования и проектирования является проект, который объединяет в себе программный код и графический интерфейс. Поэтому, чтобы записать на диск или загрузить с диска какой – либо программный проект, необходимо записывать или загрузить проект, в котором находятся все компоненты (файлы). Обычно приложение в VBсостоит из множества файлов, включая файл проекта, с расширением .vbproj. Файл проекта содержит информацию, относящуюся к одной программной задаче – одному приложению.

Проект является также единицей компиляции. Результатом компиляции проекта является сборка. Каждый проект содержит одно или несколько пространств имен. На начальном этапе создания проекта по заданному типу проекта автоматически строится каркас проекта , состоящий из классов, являющихся наследниками классов, входящих в состав библиотеки FCL (Framework Class Library) - библиотеки классов платформы.NET Framework. Так, если разработчик указывает, что он будет создавать проект типа «Приложение Windows Forms », то в состав каркаса проекта по умолчанию войдет объект Form1 – наследник библиотечного класса Form . Разработчик программного проекта дополнит созданную форму элементами управления – объектами соответствующих классов, тем самым расширив возможности формы, построенной по умолчанию.

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

В зависимости от выбранного типа проект может быть выполняемым или невыполняемым . К выполняемым проектам относятся, например, проекты типа Консольное приложение или Приложение Windows Forms . При построении каркаса выполняемого проекта в него включается класс, содержащий статическую процедуру с именем Main() . В результате компиляции такого проекта создается PE -файл – выполняемый переносимый файл с расширением .exe . Такой PE -файл может выполняться только на компьютерах, где установлена Framework .Net , поскольку это файл с управляемым кодом.

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

Этапы реализации простейших проектов – можно разделить на несколько шагов:

· создание графического интерфейса проекта (интерфейса пользователя), который должен обеспечить взаимодействие проекта с пользователем при работе проекта;

· установка значений свойств объектов графического интерфейса;

· создание, редактирование и отладка программного кода проекта;

· сохранение проекта для дальнейшего использования;

· выполнение проекта.

Решение – это разрабатываемое приложение, файлы которого содержат информации об одном или нескольких проектах, как правило, связанных общей темой. Файл решения используется для управления несколькими взаимосвязанными проектами и имеет расширение .sln. Причем каждый проект, создаваемый в VS, помещается в одну оболочку, называемую Решением .

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

Итак, обратите внимание еще раз на следующее:

Класс – это центральное понятие объектно-ориентированного программирования. Разработчик проектов на VB использует стандартные классы из библиотеки FCL и создает собственные классы. Причем класс выполняет две различные роли:

· Класс – во-первых, это модуль – архитектурная единица построения проекта по модульному принципу. Справиться со сложностью большого проекта можно только путем деления его на модули, - сравнительно небольшие единицы, допускающие независимую разработку и последующее объединение в большую систему.

· Класс – во-вторых, это тип данных, то есть семантическая единица, описывающая свойства и поведение множества объектов, называемых экземплярами класса. Синтаксически класс представляет описание данных, называемых полями класса, описание методов класса и описание событий класса . Для класса, рассматриваемого как тип данных, поля определяют состояние объектов, методы – поведение объектов. События – это некоторые специальные состояния, в которых может находиться объект, и которые могут обрабатываться внешними по отношению к классу обработчиками события. Так, например, объект класса ЧЕЛОВЕК может иметь событие «День рождения » и каждый из обработчиков этого события может принести объекту свои поздравления по этому случаю.

Как правило, классы играют обе роли. Но в VB можно определять классы, играющие только роль модуля. Это модули , для которых невозможно создавать объекты.

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

Определив класс, разработчик проекта получает возможность динамически создавать объекты класса. Для программистов, начинающих работать в объектном стиле, типичной ошибкой является путаница понятий объекта и класса. Нужно с самого начала уяснить разницу. Класс объектов, создаваемый разработчиком, представляет статическое описание множества объектов. Объект – это динамическое понятие, он создается в ходе выполнения программной системы, реально существует в памяти компьютера и обычно исчезает по завершении выполнения проекта. Разработчик проекта может создать программную систему, включающую два - три класса, но в ходе работы такой системы могут динамически появляться сотни объектов, взаимодействующих друг с другом сложным образом.

Главное окно VS

Отметим, что процесс создания простейшего приложения в среде VS подробно будет описан в следующей Теме 4.2 , а также в лабораторной работе по Теме 4.1. «Интегрированная среда разработки Visual Studio .NET». Сейчас познакомьтесь с интерфейсом среды VS.

Запустить MS Visual Studio.

На экране появится Начальная страница - MS VS(рис. 4.1.2-1).

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

Рис. 4.1.2-1. Начальная страница - Microsoft Visual Studio

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

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

Окно Начальная страница позволяет открывать использовавшиеся недавно проекты, осуществляет поиск примеров, содержит различные ссылки на сайты, которые могут помочь при работе с VS. Кроме тогов процессе работы с проектом на месте начальной страницы будут отображаться различные окна, например, окно Конструктора формы , окно Редактора программного кода и др.

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

К средствам, призванным облегчить разработку приложений, относится также окно Панель элементов, отображающее элементы управления, используемые в проектах VB.

Для создания нового проекта используется диалоговое окно
Создать проект (рис. 4.1.2-2). Для его открытия необходимо выполнить одно из следующих действий:

· выполнить команду Создать проект из элементаГлавного меню – Файл;

· нажать кнопку Создать проект , расположенную на стандартной панели инструментов.

Рис. 4.1.2-2. Диалоговое окно Создать проект

В VBможно создавать приложения по различным шаблонам. В этом пособии будем использовать только шаблон Приложение Windows Forms.

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

Рассмотрим на примереосновные шаги, необходимые для создания проекта Приложение Windows Forms .

Пример 4.1.2-1. Создать проект с именем Пример 4.1.2-1и графическим интерфейсом, состоящим из формы, на которой имеется одна кнопка и одно текстовое поле. При нажатии на кнопку должно появиться «Привет, МТУСИ!».

Форма проекта Пример-4.1.2-1 может иметь вид как на рис. 4.1.2-3.

Рис. 4.1.2-3.Графический интерфейс (Форма) проекта Пример 4.1.2-1

Для реализации проекта Пример 4.1.2-1 необходимы следующие шаги:

1) Запустить VS .

2) Создать новый проект:

Файл , а затем выполнить команду Создать проект;

· выбрать шаблон проекта Приложение Windows Forms.

В результате откроется окно Form1.vb[Конструктор] Конструктор форм (на что указывает соответствующая вкладка), позволяющий реализовать графический интерфейс приложения.

· выбрать элемент Главного меню Файл , а затем выполнить команду Сохранить все ;

в результате откроется диалоговое окно Cохранить проект ;

· ввести в поле Имя наименование проекта Пример-4.1.2-1 (по умолчанию среда VB присваивает имя WindowsApplication1), а затем ввести в поле Расположение имя каталога , где будет располагаться проект, или воспользоваться кнопкой Обзор для поиска необходимого каталога (рис. 4.1.2-4);

· щелкнуть по кнопке Cохранить ;

в результате среда разработки примет вид как на рис. 4.1.2-5.

Рис. 4.1.2-5. Среда разработки

Окна панелей Visual Studio

Окно панели Начальная страница (рис. 4.1.1-1) позволяет просмотреть последние использовавшиеся проекты, осуществить поиск примеров программ, как из справки, так и Интернета, а также просмотреть ссылки на сайты, содержащие новости о продукте VS, документацию, учебные пособия.

Рис. 4.1.4-1.Окно панели Конструктор форм и ее контекстное меню

Начальная страница автоматически открывается при запуске VS. Если же окно Начальная страница не появилось, его можно вызвать с помощью команды Начальная страница элемента главного меню Вид (View).

Окно панели Form1.vb [Конструктор] (Конструктор форм)
Основного окна
является Основным рабочим окном , в котором выполняется визуальное проектирование приложения (рис. 4.1.4-1). Отобразить на экране это окно можно щелкнув на вкладке Form1.vb [Конструктор] или двойным щелчком на названии формы в окне Обозреватель решений.

В окне Конструктора форм визуально создаются все формы приложения с использованием инструментария среды разработки. Для точного позиционирования объектов на форме в окне можно использовать сетку.

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

Для работы в окне Form1.vb [Конструктор] можно использовать контекстное меню (рис. 4.1.4-1).

Рис. 4.1-2. Окно панели Редактора кода и ее и контекстное меню

Окно панели Form1.vb (Редактор кода) – это мощный текстовый редактор с большим количеством возможностей, являющийся основным инструментом программиста для создания и отладки программного кода. Оно также может располагать в Основном рабочим окне (рис.4.1-2).

Окно панели Обозреватель решения и ее контекстное меню представлено на рис. 4.1.4-3.

Рис. 4.1.4-3. Окно панели Обозреватель решений и ее контекстное меню

Панель Элементов управления сгруппирована по разделам
(Рис. 4.1.4-4). Для создании форм пособия необходим в основном раздел Стандартных элементов управления (рис. 4.1.4-5).

Окно панели Свойства предназначено для отображения и настройки свойств объектов проекта, включая форму и размещенные в ней объекты. В этом окне, например, содержатся такие свойства выбранного объекта, как позиция в форме, высота, ширина, цвет и другие (рис. 4.1.4-6).

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

· в элементе главного меню Вид выбрать команду Окно Свойств ;

· нажать кнопку Окно свойств, расположенную на Стандартной
панели инструментов;

· выбрать команду Свойства контекстного меню выделенного объекта;

· нажать клавишу клавиатуры .

Рис. 4.1.4-4. Окно панели элементов 4.1.4-5. Панель

управления, сгруппированных по разделам (Стандартные элементы)

Рис. 4.1.4-6. Окно панели Свойства

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

В нижней части окна появляется подсказка, поясняющая назначение выбранного свойства объекта. Более подробное пояснение можно посмотреть в справочной системе. Также можно воспользоваться динамической справкой, выбрав нужный раздел в окне Динамическая справка.

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

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

4.1.5. Настройка параметров интегрированной
среды разработки

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

Следующие шаги показывают, как изменить параметры среды разработки на VBв соответствии с рекомендациями для выполнения практических работ:

1) В элементе главного меню Сервис выполнить команду Импорт и экспорт параметров . Для сохранения настроек среды с целью их использования на другом компьютере, загрузки настроек с другого компьютера или сброса настроек – опции, которую требуется выбрать сейчас – можно исполь­зовать появляющийся при этом мастер.

2) Выбрать Сбросить все настройки , а затем щелкнуть на кнопку Далее . VS спросит, необходимо ли перед настройкой сохранить текущие настройки в файле. Следует всегда сохранять резервную копию своих текущих настроек с тем, чтобы была возможность вернуться к ним, если новые настройки окажутся «неудобными».

3) Проверить, что выбрана опция Да , и обратить внимание на имя файла и папки, в которых VS собирается сохранить эти настройки.

4) Если необходимо вернуться к этим настройкам, для их восстановления используется этот же мастер и опция Импорт выбранных настроек среды.

5) Чтобы увидеть список по умолчанию параметров, используемых для VS, следует щелкнуть на кнопке Далее .

6) Щелкнуть на Параметры для разработки на VB , а за тем щелкнуть на кнопке Готово .

7) Мастер переключит параметры IDE, включая команды меню, панели инструментов и настройки некоторых диалоговых окон, окон Инструментов и Редактор кода .

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

9) Чтобы закрыть мастер, щелкнуть на кнопке Закрыть .

Если параметры среды для работы с VBнастроены, то можно выполнять задания. Но если они были изменены, необходимо выполнить следующие действия, позволяющие проверить, что настройки, связанные с проектами и компилятором VBсоответствуют тем, которые используются при проведении практических работ. Для проверки параметров проекта и компилятора необходимы выполнить следующие действия:

1) Щелкнуть на команде Параметры элемента меню Сервис и открыть диалоговое окно Параметры.

2) Диалоговое окно Параметры – это окно, в котором находятся многие из настроечных параметров VS. Чтобы увидеть все параметры, которые можно изменить, надо щелкнуть на флажке Показать все параметры , расположенном в нижнем левом углу диалогового окна.

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

Традиционный графический подход к интерфейсу с пользователем связан с работами Сазерленда, Ньюмена и др. , в котором взаимодействие базируется на использовании графического дисплея с регенерацией и светового пера. Дальнейшее развитие графического диалога связано с прогрессом в области систем интерактивной машинной графики, который привел к регламентации в виде международных стандартов.
GKS - первый международный графический стандарт. В нем впервые зафиксированы концепции "рабочих станций" и логических устройств ввода (клавиатура, выбор, локатор, валюатор, указатель, ввод последовательности координат). К сожалению задуман во время превосходства парадигмы векторного рисования. Отсюда слабость поддержки диалога: отсутствие возможности ввода новых устройств или видоизменения изображения устройства на экране даже из прикладной программы (пользователя графического пакета), что приводит к необходимости использования в основном символьного ввода при организации диалога. Реализация диалога в GKS прерогатива прикладной программы, возможности раздельного проектирования не предполагается.
Второе направление графики - растровая графика оказала чрезвычайно большое влияние на все последующее развитие интерактивных систем. Все основные черты интерфейса с пользователем на современных рабочих станциях суть производные от работ Xerox PARC: управление окнами

  • использование графических символов ("икон") для представления объектов
  • стиль взаимодействия, называемый непосредственным манипулированием
  • популярность "мыши" как устройства позиционирования на экране
  • объектно-ориентированный стиль программирования.
С тех пор система классификации инструментария для создания и управления пользовательским интерфейсом рассматривается на трех уровнях:
  1. системы управления окнами (WMS - Window Manager System);
  2. специализированный инструментарий;
    • обычный (MacIntosh, SunView . . .)
    • объектно-ориентированный (Smalltalk-80, Andrew, InterView)
  3. системы управления пользовательским интерфейсом.
В следующих разделах будут даны краткие характеристики, статус и функциональное описание каждого из этих уровней.

Системы управления окнами (WMS)

Многооконная технология обеспечивает пользователя доступом к большему объему информации, чем это возможно при работе с одним экраном. Окна дают доступ ко множеству источников информации. Пользователь может объединять информацию от нескольких источников, исследовать информацию на разных уровнях детализации. В мультипрограммном режиме есть возможность управлять несколькими параллельными задачами. Вход и выход каждой задачи отображается в разных окнах, позволяя пользователю сосредоточиться по необходимости на каждой задаче.
WMS, операционная среда связанных с окнами ресурсов управления, осуществляет поддержку:

  • перекрывающихся окон (прямоугольных областей экрана);
  • различных устройств ввода (цифровых и аналоговых);
  • курсоров;
  • шрифтов.
Интерфейс со стороны оператора и прикладной программы содержит команды заведения/уничтожения окон, изменения их размеров и положения, поднятие наверх, сжатия окна до пиктограммы и восстановления. Содержит графическую библиотеку вывода (только основные примитивы) и обработчик событий. Тем самым есть некие механизмы для реализации пользовательского интерфейса.
Возможны реализации WMS двух типов: базовая система (Kernel System), работающая на одной машине, и сетевая (Network oriented), реализуемая на основе модели клиент-сервер.

Инструментарий создания пользовательского интерфейса

Правило 2: уменьшить нагрузку на пользователя

Правило 3: сделать интерфейс совместимым

Руководящие принципы

Программа "Tidy Start Menu"

Заключение

Литература

Введение

"Золотое правило проектировщика гласит: "Никогда не делай другим того, что они сделали тебе". Вспомните, что вам не нравится в программном обеспечении, которым вы пользуетесь. И не делайте того же самого в программе, над которой работаете."

Трэйси Леонард

Почему надо следовать принципам построения пользовательского интерфейса?

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

Пользователи компьютера могут иметь удачный опыт, который внушит им уверенность в своих силах и укрепит высокую самооценку при работе с компьютером. Их действия с компьютером могут быть охарактеризованы как "успех порождает успех". Каждый позитивный опыт общения с программой позволяет пользователю расширять область знакомства с программным обеспечением и повышать свой уровень компетентности. Хорошо продуманный интерфейс, подобно хорошему учителю и учебникам, обеспечивает плодотворное взаимодействие пользователя и компьютера. Удачные интерфейсы даже способны помочь человеку выйти из привычного круга программ, которыми он пользуется, и открыть новые, углубить понимание работы интерфейсов и компьютеров.

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

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

Три принципа разработки пользовательского интерфейса формулируются так:

1)контроль пользователем интерфейса;

2)уменьшение загрузки памяти пользователя;

3)последовательность пользовательского интерфейса.

Где найти принципы разработки пользовательского интерфейса

Хансен представил первый список принципов проектирования. Принципы таковы:

1)знать пользователя;

2)сократить запоминание;

3)оптимизировать операции;

4)устранить ошибки.

Многие крупные производители операционных систем, выпусти на рынок свои новые продукты, публикуют соответствующие руководства и инструкции. В этих изданиях раскрываются принципы подхода к проектированию интерфейса. Руководства выпускали Apple Computer, Inc. (1992), IBM Corporation (1992), Microsoft Corporation (1995) и UNIX OSF/Motif (1993).

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

Важность соблюдения принципов

"Несовместимость интерфейса может стоить большой компании миллионов долларов убытка из-за потери продуктивности и увеличения стоимости технической поддержки." - Джесси Брист.

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

Данные принципы выдержали проверку временем и появлением новых компьютерных технологий. Якоб Нильсен заметил: "Принципы останутся основополагающими даже если программа будет иметь футуристичный трехмерный дизайн с печаткой "DataGlove", служащей для ввода, будут распознаваться движения и "живые" видеоизображения. Они будут актуальны, поскольку выражают основную идею диалога с машиной при помощи команд".

Трактовка этих принципов будет зависеть от аппаратного обеспечения, операционной системы, составляющих пользовательского интерфейса и его задач. Зачастую деловое решение довлеет над использованием принципов проектировщиками. Пользовательские модели и модели проектировщика также различны и влияют на то, как будут применяться принципы. На некоторых важных этапах разработки проекта может встать вопрос: "Что произойдет далее?". Ответ должен быть таким: "Что захочет пользователь!".

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

Правила проектирования пользовательского интерфейса

"Делай это проще, но не примитивнее."

Альберт Эйнштейн

Правило 1: дать контроль пользователю

Опытные проектировщики позволяют пользователям решать некоторые задачи по собственному усмотрению. Архитекторы по завершении строительства сложного комплекса зданий должны проложить между ними дорожки для пешеходов. Пока они не знают, в каком именно месте люди будут пересекать площадки. Поэтому дорожки никогда не прокладывают одновременно с возведением зданий. На площадках между домами помещаются таблички с надписью: "Пожалуйста ходите по траве". Через некоторое время строители возвращаются и только теперь, согласно "волеизъявлению" населения, заливают протоптанные дорожки асфальтом.

Принципы, которые дают пользователю контроль над системой:

1)использовать режимы благоразумно;

2)предоставить пользователю возможность выбирать: работать либо мышью, либо клавиатурой, либо их комбинацией;

3)позволить пользователю сфокусировать внимание;

4)демонстрировать сообщения, которые помогут ему в работе;

5)создать условия для немедленных и обратимых действий, а также обратной связи;

6)обеспечить соответствующие пути и выходы;

7)приспосабливайте систему к пользователям с различным уровнем подготовки;

8)сделать пользовательский интерфейс более понятным;

9)дать пользователю возможность настраивать интерфейс по своему вкусу;

10)разрешить пользователю напрямую манипулировать объектами интерфейса;

Использовать режимы благоразумно

Режимы - не всегда плохо. Надо позволить человеку самому выбирать нужные ему режимы. Интерфейс должен быть настолько естественным, чтобы пользователю было комфортно работать с ними. Пользователь не думает о переключении в режим вставка или перезаписи при работе в текстовом процессоре - это вполне рационально и естественно.

Позволить человеку использовать мышь и клавиатуру

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

Позволить пользователю переключить внимание

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

Показывать поясняющие сообщения и тексты

Во всем интерфейсе использовать понятные для пользователя термины. Они не обязаны знать о битах и байтах!

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

Обеспечить немедленные и обратимые действия и обратную связь

Каждый программный продукт должен включать в себя функции UNDO и REDO. Необходимо информировать пользователя о том, что данное действие не может быть отменено, и по возможности разрешить ему альтернативное действие. Постоянно держать человека в курсе происходящего в данный момент.

Предоставлять понятные пути и выходы

Пользователи должны получать удовольствие при работе с интерфейсом любого программного продукта. Даже интерфейсы, применяемые в индустрии, не должны пугать пользователя, он не должен боятся нажиматься нажимать кнопки или переходить на другой экран. Вторжение Internet показало, что навигация - основная интерактивная техника в Internet. Если пользователь понимает, как зайти на нужную страницу в WWW, то существует 80-процентная вероятность, что он разберется в интерфейсе. Люди осваивают методы работы с браузером очень быстро.

Приспосабливаться к пользователям с разными уровнями навыков

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

Сделать пользовательский интерфейс "прозрачным"

Пользовательский интерфейс - "мифическая" часть программного продукта. При хорошем проекте пользователи даже не ощущают его "присутствия". Если он разработан неудачно, пользователям придется приложить даже немало усилий для эффективного использования программного продукта. Задача интерфейса - помочь людям почувствовать себя находящимся как бы "внутри" компьютера, свободно манипулировать и работать с объектами. Это и называется "прозрачным" интерфейсом!

Предоставлено Салимом Гулом (Saleem Gul) и Томасом Павеком (Tomas Pavek)

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

Мы разберем компоновку и структуру графического интерфейса, после чего добавим несколько кнопок и текстовых полей. Текстовые поля предназначены для получения вводимой пользователем информации и вывода результата работы программы. Кнопка будет инициировать работу функций, встроенных в клиентскую часть программы. Создаваемое приложение представляет собой простой, но полнофункциональный калькулятор.

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

Предполагаемая продолжительность: 20 минут

Упражнение 1: Создание проекта

Первым действием является создание проекта среды IDE для разрабатываемого приложения. Дадим проекту имя NumberAddition .

  1. Выберите "Файл" > "Создать проект" . Также можно щелкнуть значок "New Project" на панели инструментов среды IDE.
  2. В области "Categories" выберите узел "Java". В области "Projects" выберите "Java Application". Нажмите кнопку "Далее".
  3. Введите NumberAddition в поле Project Name ("Имя проекта") и укажите путь, например, в вашем основном каталоге, как местоположение проекта.
  4. Установите флажок "Использовать отдельную папку для хранения библиотек" и укажите местоположение папки библиотек (необязательно). Дополнительная информация приведена в статье Предоставление доступа к библиотеке другим пользователям в документе Разработка приложений с помощью NetBeans IDE .
  5. Удалите флажок "Create Main Class", если он установлен.
  6. Нажмите кнопку "Готово".

Упражнение 2: Создание внешнего интерфейса

Для продолжения процесса создания интерфейса необходимо создать контейнер Java, в который будут помещены другие требуемые элементы графического интерфейса. В этом действии контейнер будет создан с помощью элемента JFrame . Контейнер будет помещен в новый пакет, который будет отображаться в узле "Source Packages".

Создание контейнера JFrame

  1. В окне "Проекты" щелкните правой кнопкой мыши узел NumberAddition и выберите Создать > Другие.
  2. В диалоговом окне создания файла выберите категорию Swing GUI Forms и тип файла JFrame Form . Нажмите кнопку "Далее".
  3. Введите NumberAdditionUI в качестве имени класса.
  4. Выберите пакет my.numberaddition .
  5. Нажмите кнопку "Готово".

Среда IDE создает форму NumberAdditionUI и класс NumberAdditionUI в приложении NumberAddition и открывает форму NumberAdditionUI в GUI Builder. Пакет my.NumberAddition заменяет собой пакет по умолчанию.

Добавление элементов: создание внешнего интерфейса

Далее с помощью окна "Palette" внешний интерфейс приложения заполняется панелью JPanel. После этого добавляются три элемента JLabel (текстовые подписи), три элемента JTextField (текстовые поля) и три элемента JButton (кнопки). Если до этого работа с конструктором графического интерфейса пользователя не выполнялась сведения о размещения компонентов см. в разделе Разработка графического пользовательского интерфейса Swing в IDE NetBeans .

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

Если в правом верхнем углу среды IDE отсутствует окно Palette ("Палитра"), выберите Window ("Окно") > Palette ("Палитра").

  1. Для начала выберите панель из категории Swing Containers ("Контейнеры Swing") в палитре и перетащите ее на JFrame.
  2. Панель JPanel будет выделена. Перейдите к окну "Properties" и нажмите кнопку с многоточием (...) рядом с полем "Border" для выбора стиля границы.
  3. В диалоговом окне "Border" выберите "TitledBorder" из списка и введите Number Addition в поле "Title". Для сохранения изменений и закрытия диалогового окна нажмите кнопку "OK".
  4. Теперь на экране должен отображаться пустой элемент "JFrame" с заголовком "Number Addition", как показано на рисунке. Согласно рисунку добавьте к нему три метки JLabel, три текстовых поля JTextField и три кнопки JButton.

Переименование элементов

На этом этапе будет выполнено переименование элементов, которые были добавлены к элементу JFrame.

  1. Дважды щелкните jLabel1 и измените ntrcn (свойство "text") на First Number .
  2. Дважды щелкните jLabel2 и измените текст на Second Number .
  3. Дважды щелкните jLabel3 и измените текст на Result .
  4. Удалите стандартный текст из jTextField1 . Отображаемый текст можно преобразовать в редактируемый. Для этого щелкните правой кнопкой мыши текстовое поле и выберите "Редактировать текст" во всплывающем меню. При этом может потребоваться восстановить первоначальный размер поля jTextField1 . Повторите это действие для полей jTextField2 и jTextField3 .
  5. Измените отображаемый текст jButton1 на Clear . (Для изменения текста кнопки щелкните кнопку правой кнопкой мыши и выберите "Edit Text". В качестве альтернативы можно щелкнуть кнопку, выдержать паузу и щелкнуть еще раз.)
  6. Измените отображаемый текст jButton2 на Add .
  7. Измените отображаемый текст jButton3 на Exit .

Теперь готовый графический интерфейс должен выглядеть так, как показано на рисунке ниже:

Упражнение 3: Добавление функциональности

В этом упражнении будет добавлена необходимая функциональность к кнопкам "Add", "Clear" и "Exit". Поля jTextField1 и jTextField2 будут использоваться для ввода значений пользователем, а jTextField3 - для вывода результата работы программы. Создаваемая программа представляет собой простейший калькулятор. Итак, приступим!

Добавление функциональности к кнопке "Exit"

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

  1. Щелкните правой кнопкой мыши кнопку "Exit". Во всплывающем меню выберите Events ("События") > Action ("Действие") > actionPerformed. Учтите, что меню содержит множество других событий, на которые может реагировать программа! При выборе события actionPerformed среда IDE автоматически добавит прослушиватель ActionListener к кнопке Exit ("Выход") и создаст метод обработчика для обработки метода прослушивателя actionPerformed.
  2. В среде IDE автоматически открывается окно "Source Code", где отображается место вставки действия, которое должно выполняться кнопкой при ее нажатии (с помощью мыши или клавиатуры). Окно "Source Code" должно содержать следующие строки: private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { //TODO add your handling code here: }
  3. Теперь добавим код действия, которое должна выполнять кнопка "Exit". Замените строку TODO на System.exit(0); . Готовый код кнопки "Exit" должен выглядеть следующим образом: private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { System.exit(0); }

Добавление функциональности к кнопке "Clear"

  1. Щелкните правой кнопкой мыши кнопку "Clear" (jButton1). В появившемся меню выберите "Events > Action > actionPerformed".
  2. Нажатие кнопки "Clear" должно приводить к удалению всего текста из всех текстовых полей "jTextField". Для этого следует добавить код, аналогичный приведенному выше. Готовый исходный код должен выглядеть следующим образом: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){ jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); }

Этот код удаляет текст из всех трех полей JTextField, оставляя их пустыми.

Добавление функциональности к кнопке "Add"

Кнопка "Add" должна выполнять три действия.

  1. Сначала она принимает данные, введенные пользователем в полях jTextField1 и jTextField2 , и преобразовывает их из типа "String" в тип "Float".
  2. Затем она выполнит сложение двух чисел.
  3. И, наконец, она преобразует сумму в тип String и поместит ее в jTextField3 .
Начнем!
  1. Щелкните вкладку "Design" в верхней части рабочей области для возврата к экрану "Form Design".
  2. Щелкните правой кнопкой мыши кнопку "Add" (jButton2). Во всплывающем меню выберите Events ("События") > Action ("Действие") > actionPerformed.
  3. Добавьте код действий, которые должна выполнять кнопка "Add". Готовый исходный код должен выглядеть следующим образом: private void jButton2ActionPerformed(java.awt.event.ActionEvent evt){ // First we define float variables. float num1, num2, result; // We have to parse the text to a type float. num1 = Float.parseFloat(jTextField1.getText()); num2 = Float.parseFloat(jTextField2.getText()); // Now we can perform the addition. result = num1+num2; // We will now pass the value of result to jTextField3. // At the same time, we are going to // change the value of result from a float to a string. jTextField3.setText(String.valueOf(result)); }

Теперь программа полностью готова, и можно приступить к ее сборке и выполнению.

Упражнение 4: Выполнение программы

Для выполнения программы в среде IDE выполните следующие действия:

  1. Выберите Run ("Запуск") > Run Main Project ("Запуск главного проекта") (как вариант, нажмите F6).

    Примечание. При открытии окна с указанием того, что для Project NumberAddition не задан основной класс, следует выбрать my.NumberAddition.NumberAdditionUI в качестве основного класса в том же окне и нажать кнопку ОК.

Для запуска программы вне среды IDE выполните следующие действия:

Через несколько секунд приложение запустится.

Примечание. Если при двойном щелчке файла JAR не выполняется запуск приложения, дополнительные сведения о настройке связей файлов JAR в используемой операционной системе см .

Можно также запустить приложение из командной строки.

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

  1. Вызовите командную строку или окно терминала.
  2. В командной строке измените текущий каталог на каталог NumberAddition/dist .
  3. В командной строке введите следующий оператор: java -jar NumberAddition.jar

    Примечание. Убедитесь, что my.NumberAddition.NumberAdditionUI задан как основной класс до запуска приложения. Для провери этого, щелкните правой кнопкой узел мыши узел проекта NumberAddition на панели "Проекты", выберите "Свойства" во всплывающем меню и выберите категорию "Выполнить" в диалоговом окне "Свойства проекта". В поле "Основной класс" должно отображаться my.numberaddition.NumberAdditionUI .

Механизм обработки событий

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

  1. Вернитесь к файлу NumberAdditionUI.java в редакторе. Щелкните вкладку "Design" для просмотра структуры графического интерфейса в GUI Builder.
  2. Щелкните правой кнопкой мыши любой элемент графического интерфейса и выберите "Events" в появившемся меню. Теперь можно просто изучить содержимое меню, не выбирая каких-либо пунктов.
  3. В качестве альтернативы можно выбрать "Properties" в меню "Window". В окне "Properties" щелкните вкладку "Events". Вкладка "Events" позволяет просмотреть и изменить обработчики событий, связанные с текущим активным элементом графического интерфейса.
  4. Приложение также может реагировать на нажатие клавиш, одинарный, двойной или тройной щелчок мышью, перемещение указателя мыши, изменение размера окна и перемещение фокуса ввода. Меню "Events" позволяет автоматически создать обработчики событий для всех этих событий. Наиболее распространенным из них является событие "Action". (Для получения дополнительных сведений см. практические рекомендации по обработке событий в руководстве Sun Java Events Tutorial .)

Как выполняется обработка событий? При каждом выборе события из меню событий среда IDE автоматически создает так называемый прослушиватель событий и связывает его с компонентом разработчика. Для более подробного ознакомления с процессом обработки событий выполните следующие действия.

  1. Вернитесь к файлу NumberAdditionUI.java в редакторе. Щелкните вкладку "Source" для просмотра исходного кода графического интерфейса.
  2. Выполните прокрутку вниз и просмотрите реализованные методы jButton1ActionPerformed() , jButton2ActionPerformed() и jButton3ActionPerformed() . Эти методы называются обработчиками событий.
  3. Теперь перейдите к методу initComponents() . Если этот метод отсутствует, найдите строку Generated Code и щелкните знак + рядом с этой строкой для отображения скрытого метода initComponents() .
  4. Обратите внимание на синий блок, окружающий метод initComponents() . Этот код был автоматически создан средой IDE и не может быть изменен пользователем.
  5. Теперь посмотрите на сам метод initComponents() . Помимо прочего, он содержит код, инициализирующий элементы графического интерфейса и помещающий их в форму. Этот код создается и обновляется автоматически при размещении и изменении элементов в режиме проектирования.
  6. В методе initComponents() найдите следующий фрагмент: jButton3.setText("Exit"); jButton3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButton3ActionPerformed(evt); } });

    В этом месте к элементу графического интерфейса, в данном случае к jButton3 , добавляется объект прослушивания событий "ActionListener". Интерфейс "ActionListener" имеет метод "actionPerformed" объекта "ActionEvent", который реализуется путем простого вызова обработчика событий jButton3ActionPerformed . Теперь эта кнопка реагирует на события действий. Каждый раз при нажатии кнопки создается событие "ActionEvent", которое передается в метод "actionPerformed" интерфейса прослушивания событий, исполняющий код, предусмотренный разработчиком для этого события в обработчике событий.

  7. Учебная карта по приложениям с графическим интерфейсом Java

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

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

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

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

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

¦ При активизации всех пиктограмм, как отмечалось выше, следует использовать двойной щелчок мышью. А для получения аналогичного результата для пиктограмм объектов, которые активизируются одинарным щелчком мышью, рекомендуется также запрограммировать двойной щелчок. Многие опции, например из меню Control Panel, выглядят как пиктограммы, но являются объектами, которые активизируются одинарным щелчком мышью. Следует предусмотреть возможное поведение пользователей при работе с такими объектами (т.е. допустить, что они будут дважды щелкать по ним мышью) и помочь им достигнуть желаемого результата.

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

¦ Элементы, общие для различных меню, следует размещать в одном месте. Нопример, кнопки ОК и Cancel должны всегда располагаться одиноково относительно друг друга и занимать одно и то же место в различных диалоговых окнах.

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

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

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

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

1) понять назначение программного продукта во всех деталях путем тесного общения с пользователями, проводя зачастую с ними целые рабочие дни, чтобы лучше понять стиль их работы и индивидуальные привычки;

2) создание интерфейса - это работо не одиночки, а представителей трех областей: специалиста, который выясняет мнение пользователей об основных элементах интерфейса и описывает их; разработчика интерфейса и создателя графики;

3) один опытный сотрудник должен быть нозначен экспертом по интерфейсу и посредником между рабочей группой и пользователями;

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

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



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows