# Библиотеки JAR

## Использование JAR библиотек

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

Logisim содержит достаточно полную коллекцию встроенных библиотек компонентов Java, но он также может загружать дополнительные библиотеки, написанные вами или другими людьми. После того, как вы загрузили библиотеку, вы можете импортировать её в ваш проект, щёлкнув правой кнопкой мыши на проекте в панели проводника (верхняя строка), и выбрав Загрузить библиотеку > Библиотека JAR... . Затем Logisim предложит вам выбрать JAR файл. (В некоторых случаях, вам возможно придётся ввести имя стартового класса, которое должно быть предоставлено разработчиком библиотеки. Впрочем, разработчик обычно настраивает JAR библиотеку так, чтобы избежать этого (включением в JAR файла manifest с атрибутом Library-Class, указывающим имя главного класса).)

## Создание JAR библиотек

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

Вы можете скачать JAR файл, позволяющий импортировать эти примеры в Logisim, через раздел Ссылки сайта Logisim. Этот JAR файл также содержит исходный код, содержащийся в этих примерах.

Инкрементатор кода Грея

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

Класс Library

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

Простой счётчик кода Грея

  Показывает, как сделать компонент, имеющий внутреннее состояние, в частности, 8-битный счётчик, который перебирает коды Грея.

Счётчик кода Грея

  Демонстрирует полный, довольно сложный компонент, с которым пользователь может взаимодействовать. Он реализует счётчик кода Грея, в котором число запоминаемых битов настраивается, и в котором пользователь может изменить текущее значение, нажав на нём Инструментом Нажатие и введя значение.

Указания
  Общая информация по разработке сторонних библиотек.

## Лицензия

Код в этом примере JAR библиотеки выпущен под лицензией MIT, более либеральной лицензией, чем GPL, под которой выпущена остальная часть Logisim.

Copyright (c) 2009, Carl Burch.

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

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

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ ЛЮБОГО ВИДА ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И НЕНАРУШЕНИЯ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.

Далее: Инкрементатор кода Грея.