Инсталляция на Linux/Unix и других системах — КиберПедия 

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

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

Инсталляция на Linux/Unix и других системах

2019-09-17 161
Инсталляция на Linux/Unix и других системах 0.00 из 5.00 0 оценок
Заказать работу

Общий дистрибутив для Linux/Unix и других систем - выполнимый jar-файл. Он называется bluej- xxx. jar, где xxx - номер версии. Например, дистрибутив BlueJ версии 2.0.0 называется bluej-200. jar. Можно получить этот файл на диске, или загрузить его с сайта BlueJ (http:// www. bluej. org).

Запустите инсталлятор, выполняя следующую команду. ВНИМАНИЕ! В примере использован дистрибутивный файл bluej-200. jar - Вы должны использовать имя файла, который имеется у Вас (с правильным номером версии).

< путь к J2se> /bin/java -jar bluej-200.jar

<путь к J2se> - каталог, куда был установлен пакет J2SE SDK.

Появится окно, позволяющее выбрать каталог инсталляции BlueJ и версию Java, которая будет использоваться с BlueJ.

Щелкните Install. Когда Install закончит работу, BlueJ будет установлена.

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

Если Вы столкнулись с проблемами при установке, просмотрите раздел Frequently Asked Questions (FAQ) (страница популярных вопросов) на сайте BlueJ (http:// www. bluej. org/ help/ faq. html) и прочтите раздел How To Ask For Help (как попросить помощь) (http://www.bluej.org/help/ask-help.html).


Начало - редактирование /компиляция /выполнение

Запуск BlueJ

На Windows и MacOS программа BlueJ уже установлена. Выполните ее.

На системах Unix инсталлятор устанавливает в инсталляционном каталоге сценарий с именем bluej. Из графического интерфейса дважды щелкните по файлу. Из командной строки BlueJ можно запустить без параметров или с именем проекта в качестве параметра:

$ bluej

 или

$ bluej examples/people

 

Рисунок 1: Главное окно BlueJ

Открытие проекта

Кратко: Чтобы открыть проект, выберите Open из меню Project.

Проекты BlueJ, как стандартные пакеты Java, являются каталогами, содержащими файлы проекта.

После запуска BlueJ выполните из меню Project – Open..., чтобы выбрать и открыть проект.

Некоторые примеры проектов включены в стандартный дистрибутив BlueJ и после установки находятся в каталоге example s.

Для этого раздела откройте проект People из каталога examples. Этот каталог находится в основном каталоге BlueJ. После открытия проекта Вы увидите окно, подобное окну, показанному на Рисунке 1. В Вашей системе окно может иметь несколько другой вид, но отличия должны быть незначительными.

Создание объектов

Кратко: Для создания объекта, выберите конструктор из  меню класса.

Одна из главных особенностей BlueJ состоит в том, что можно не только выполнять законченное приложение, но  можно и прямо взаимодействовать с отдельными объектами любого класса и выполнять их открытые (public) методы. Выполнение в BlueJ обычно происходит так: 1) создается объект, 2) вызывается один из его методов. Это очень полезно при разработке приложения, т.к. можно тестировать классы по мере их создания. Не требуется сначала готовить все  приложение.

 

Замечание: Для выполнения статических методов класса не требуется создание объектов. Один из статических методов может быть "main", так что можно сделать то же, что обычно происходит при запуске Java-приложений –  выполняется статический метод main приложения. Мы вернемся к этому позже. Прежде рассмотрим более интересные вещи, которые нельзя сделать в других средах Java.

 

Прямоугольники в средней части главного окна (с метками Database, Person, Staff и Student) - иконки классов, включенных в это приложение. Можно получить контекстное меню с операциями, применимыми к классу, если щелкнуть по иконке класса правой кнопкой мышки (в Macintosh: ctrl-click[1]) (Рисунок 2). Операции в меню –это (при помощи new) конструкторы класса и ряд общих действий, предусмотренные в BlueJ для классов.

Рисунок 2: Операции для класса в контекстном меню

Мы хотим создать объект Staff, так что следует щелкнуть правой кнопкой мышки по пиктограмме Staff (тогда появится меню, показанное на Рисунке 2). Меню содержит два конструктора для создания объекта Staff, один конструктор - с параметрами и один – без параметров. Сначала выберем конструктор без параметров. Появится окно диалога, показанное на Рисунке 3.

Рисунок 3: Создание объекта конструктором без параметров


Этот диалог запрашивает имя создаваемого объекта. В поле имени система BlueJ предлагает имя, которое образовано из имени класса - staff1. Если оно Вам подходит, просто щелкните по кнопке OK, и объект класса Staff будет создан.

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

Рисунок 4: объект staff1 на стенде объектов

Вы, возможно, обратили внимание, чтокласс Person имеет пометку «abstract» (это - абстрактный класс). Если Вы попытаетесь создать объект этого класса, Вы обнаружите, что это сделать нельзя - спецификация языка Java запрещает создание объектов абстрактных классов.

Выполнение

Кратко: Чтобы выполнить метод, выберите его из контекстного меню объекта.

Если объект создан, можно выполнить его открытые (public) методы. (В Java действия, которые можно производить с объектами, называют методами). Щелчок правой кнопкой мышки на объекте - и появляется контекстное меню (Рисунок 5). Меню показывает методы, доступные для этого объекта и две специальных операции, выполняемые средой BlueJ (Inspect and Remove - Инспектировать и Удалить). Мы обсудим их позже. Сейчас давайте думать о методах.

Рисунок 5: Контекстное меню объекта

Вы видите, что есть методы setRoom и getRoom, которые задают и возвращают номер комнаты для этого сотрудника. Попробуйте вызвать метод getRoom. Просто выберите его из меню объекта, и он будет выполнен. Результат появится в окне диалога (Рисунок 6). Мы увидим, что результат – строка «unknown room» («неизвестная комната»). Такое значение показывает, что мы еще не задавали номер комнаты для этого сотрудника.

Рисунок 6: Форма с результатом выполненного метода

Методы, унаследованные от суперкласса, доступны через подменю. В верхней части контекстного меню объекта есть два подменю, одно для методов, унаследованных откласса Object и одно для методов, унаследованных от класса Person (Рисунок 5). Можно вызвать методы класса Person (например, getName), выбирая их из подменю. Попробуйте это сделать. Вы заметите, что результат также неопределенный: это результат “(unknown name)” («неизвестное имя»), потому что мы не дали нашему сотруднику имя.

Теперь попробуем задать номер комнаты. Мы увидим, как вызывать метод, который имеет параметры. (Вызовы getRoom и getName имели возвращаемые значения, но не имели параметров). Вызовите метод setRoom, выбрав его из меню. Диалог позволит задать значение параметра (Рисунок 7).

Рисунок 7: Задание параметров метода

В верхней части диалога показан интерфейс вызванного метода (включая комментарий и сигнатуру). Ниже - текстовое поле для ввода значения параметра. Сигнатура говорит нам, что методу требуется один параметр типа "String". Введите в текстовое поле номер комнаты как строку (включая кавычки) и щелкните OK.

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

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

Редактирование класса

Кратко: Чтобы редактировать исходный код класса, дважды щелкните его значок класса.

Пока мы имели дело только с интерфейсом объекта. Давайте теперь заглянем внутрь. Вы можете увидеть реализацию класса, выбрав Open Editor из операций класса. (Напомним: щелчок правой кнопкой мышки по значку класса покажет контекстное меню с операциями класса.) Двойной щелчок по значку класса даст такой же результат. В этой инструкции редактор не описывается детально, но он очень прост для использования. Подробности работы с редактором будут описаны отдельно позже. Пока же, откройте реализацию класса Staff. Найдите текст метода getRoom. Он возвращает, как говорит его имя, номер комнаты сотрудника. Давайте изменим метод, разместив перед результатом слово “room” (так, чтобы метод возвратил, например, “room М.3.18”, а не только "М.3.18"). Мы можем сделать это, изменив строку

return room;

так:

return "room " + room;

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

Компиляция

Кратко: Чтобы компилировать класс, щелкните по кнопке Compile в редакторе. Чтобы компилировать проект, щелкните по кнопке Compile в окне проекта.

После вставки текста (до того, как сделать что-то еще), проверьте вид проекта в главном окне. Вы заметите, что значок класса Staff изменился: на нем появилась штриховка. Штриховка отмечает классы, которые не компилировались после изменения их текста. Вернемся в редактор.

Замечание: Вы можете спросить, почему значки класса не были заштрихованы сразу после открытия проекта. Ответ - потому что классы в проекте уже были откомпилированными. Часто проекты BlueJ поставляются нескомпилированными, так что при первом открытии проекта следует ожидать, что большинство значков будет заштриховано.

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

После того, как класс успешно скомпилирован, закройте редактор.

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

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

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

Справка по ошибкам компилятора

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

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

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

Рисунок 8: Ошибка компиляции и кнопка помощи «?»

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


4 Идем дальше...

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

Инспекция объекта

Кратко: Инспекция объекта позволяет увидеть внутреннее состояние объекта, что является одним из простых способов отладки.

При выборе метода объекта для выполнения, Вы, вероятно, заметили операцию Inspect, которая доступна для объектов в дополнение к методам, определенным пользователем (Рисунок 5). Эта операция позволяет проверять состояния объектов, т.е. значения его переменных – "полей". Попробуйте создать объект с небольшим количеством задаваемых пользователем значений (например, объект Staff с конструктором, который принимает параметры). Затем выберите Inspect из контекстного меню. Появится окно диалога, в котором будут отображены поля объекта, их типы и значения (Рисунок 9).

Рисунок 9: Диалог просмотра состояния объекта

Инспекция полезна для быстрой проверки правильности работы мутаторов – методов, которые изменяют состояние объекта. Таким образом, инспекция - это простое средство отладки.

В примерес классом Staff все его поля - простые типы (не объектные типы и не строки). Значение этих типов можно показать непосредственно. Вы можете сразу увидеть, сделал ли конструктор правильные присваивания.

В более сложных случаях, значения полей могут быть ссылками на объекты, определенные пользователем. Чтобы рассмотреть такой пример, нам потребуется другой проект. Откройте проект people2, который также включен в стандартный дистрибутив BlueJ.Окно проекта для people2 показано на Рисунке 10. В этом проекте в дополнение к классам, которые Вы видели ранее, имеется класс Address. Одно из полей в классе Person имеет определенный пользователем тип Address.

Рисунок 10: Окно проекта people2

Далее мы попробуем инспектировать объект, поля которого – объекты. Для этого создадим объект класса Stuff и вызовем метод setAddress этого объекта (Вы найдете его в подменю методов, унаследованных от класса Person). Введите адрес (введено “Gyldenstenvej 29”, “Odense”, “5230”)[2]. Метод setAddress создаст объект типа Address (используя конструктор этого класса), сохранит введенные значения в этом объекте, и ссылку на объект поместит в переменную address.

Теперь проинспектируем объект staff1. Окно диалога показано на Рисунке 11. Поля объекта staff1 теперь включают address. Как видно, его значение показано как стрелка, отсылающая к другому объекту. Так как address - сложный, определяемый пользователем объект, его значение нельзя показать непосредственно в этом окне. Чтобы проинспектировать поле address, выберите его, щелкнув по нему (при выборе оно изменит цвет), затемщелкните по кнопке Inspect в окне диалога. (Тот же результат даст двойной щелчок по полю address или по стрелке). Будет открыто новое окно инспектора объектов, в котором мы увидим состояние объекта address типа Address. (Рисунок 12).

Рисунок 11: Инспекция объекта со ссылкой на объект

 

Рисунок 12: Инспекция встроенного объекта

Если бы выбранное поле имело атрибут public, тогда, вместо щелчка по Inspect, можно было бы также выбрать поле address и щелкнуть по кнопке Get. Объект, связанный с полем, был бы помещен на стенд объектов. Можете провести такое исследование, вызывая методы объектов.


Поделиться с друзьями:

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

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

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

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



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.049 с.