Формирование базы данных книг магазина на Java - Программирование, компьютеры и кибернетика курсовая работа

Формирование базы данных книг магазина на Java - Программирование, компьютеры и кибернетика курсовая работа




































Главная

Программирование, компьютеры и кибернетика
Формирование базы данных книг магазина на Java

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

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

Приложение Е. (обязательное) Листинг программы
Целью данной курсовой работы является создание и разработка информационной системы книжного магазина. Данная информационная система (ИС) содержит основные сведения полезные для книжного магазина. В качестве информационной системы выступает база данных, написанная в программе mysql. Такая база данных необходима для упрощения организации работы магазина с книгами и клиентами, поскольку имеется большое количество книг и много покупателей. База данных - это совокупность взаимосвязанных данных, которые используются несколькими приложениями. В базе данных сведения из каждого источника сохраняются в отдельной таблице. При работе с данными из нескольких таблиц устанавливаются связи между таблицами. Для поиска и отбора данных, удовлетворяющих определенным условиям, создается запрос. Запросы позволяют также обновить, добавить или удалить записи, выполнить встроенные или специальные вычисления. Для просмотра, ввода или удаления данных прямо в таблице применяются формы. Форма позволяет отобрать данные из одной или нескольких таблиц и вывести их на экран, используя стандартный или созданный пользователем макет.
Магазин выставляет на продажу большое количество книг, в котором очень сложно ориентироваться. Задачами данного курсового проекта является реализовать необходимость поиска нужной книги или же занесения новой книги в каталог, или изменение каких-то неточных данных, или удаление книги, или ненужных издательств, а так же содержание сведений о совершенных покупках и прибыли. Эти и другие задачи значительно проще решить, если имеется база данных книжного магазина. Таким образом, база данных создается для автоматизации учета книг магазина. Разрабатываемая база данных предназначена для быстрого и эффективного обновления данных, быстрой и легкой навигации в имеющемся ассортименте книг, что позволяет облегчить и упростить работу сотрудников магазина.
Предметной областью для данного проекта является формирование базы данных книг магазина.
Работа книжного магазина является довольно сложным и трудоёмким процессом. Для учёта книг необходимо оформлять и вести довольно большое количество документации (оформление накладных на приход книг, оформление скидок и лицензий и т.д.).
В современном мире почти каждый человек использует на своей работе вычислительную технику, так же и во всех книжных магазинах работа ведётся с помощью автоматизированных систем и технологий.
Основные данные, которые использовались в данной информационной системе, были данные о книгах:
- количество книг, имеющихся на полках магазина,
Можно сделать выводы, что при автоматизации книжного магазина работа в магазине станет не только более лёгкой, но это ускорит работу обслуживающего персонала с клиентами.
На начальной стадии разработки данной функциональной системы был поэтапно составлен процесс продажи книг в магазине. Для графического описания модели был использован стандарт IDEF0 (Integration Definition for Function Modeling - методология функционального моделирования, предназначенная для описания бизнес-процессов).
На контекстной диаграмме верхнего уровня (Приложение А, рисунок А.1) представлена функциональная модель «Книжный магазин», а также определены потоки входных и выходных данных, механизмы ограничения и управления данными.
Входная информация: данные о доступных книгах, данные о поставщиках и авторах. Информация, полученная на входе, обрабатывается и преобразуется во входные данные: прибыль магазина, отчёт о проданных книгах, остатки книг в магазине. Управляющими механизмами являются менеджеры магазина. Механизм ограничения: правила и документы, по образцу которых ведётся работа магазина.
Рисунок А.2 (Приложение А) отображает декомпозицию контекстной диаграммы.
Разработать базу данных в программе mysql для предметной области «Книжный магазин».
Автоматизированная информационная система должна обеспечивать обработку данных следующим образом: книжный магазин посещает клиент с заказом о купле книг, в магазине должна иметься база данных с записями обо всех имеющихся книгах.
База данных предполагает ввод-вывод следующих данных:
2. Выводить информацию об имеющихся книгах по любому запросу.
В информационной системе предполагается наличие следующих функций:
1. Ввод, редактирование и удаление информации об издательствах;
2. Ввод, редактирование и удаление данных об авторах;
3. Ввод, редактирование и удаление данных о книгах;
6. Список остатков книг в магазине.
В программе необходимо предусмотреть корректность ввода какой-либо информации. Программа должна реагировать на любые несанкционированные действия.
Программа должна быть лёгкой для восприятия, доступной, надёжной и удобной для извлечения пользователем любой необходимой информации.
В данном разделе будет продемонстрировано моделирование информационной системы с помощью стандарта UML, который использует графические обозначения для создания абстрактной модели системы и предназначен для определения, визуализации, проектирования и документирования в основном программных систем. UML позволяет описать систему практически со всех возможных точек зрения и разные аспекты поведения системы.
Для данной курсовой работе были построены такие диаграммы, как диаграмма вариантов использования, диаграмма последовательности, диаграмма состояний, диаграмма классов, диаграмма развертывания, диаграмма компонентов.
Диаграмма вариантов использования состоит из актеров, для которых система производит действие и собственно действия Use Case, которое описывает то, что актер хочет получить от системы.
В данной диаграмме вариантов использования (Приложение Б, рисунок Б.1) в роли актёров выступают покупатель и программист. Программист, как видно из диаграммы, может управлять данными (добавлять книгу, изменять данные, искать книгу по определённому критерию), однако для этого ему необходимо подключиться к серверу. Покупатель, также может просматривать данные о книгах, а также добавлять книги в корзину.
Для моделирования взаимодействия объектов во времени в языке UML используются диаграммы последовательности.
Для демонстрации диаграммы последовательности рассмотрим диаграмму добавления книги в базу данных (Приложение Б, рисунок Б.2). Действие начинается при нажатии кнопки «Добавить книгу» (посылается запрос о добавлении книги в базу данных). После обработки запроса, посылается новый запрос на Server о взятии нужной информации об издательстве, так как при добавлении книги пользователь выбирает издательство данной книги. Такая же операция проделывается и для автора. На Server обрабатывается запрос и посылается новый запрос на book sfinal для получения необходимой информации об издательстве. На books final обрабатывается запрос и посылается информация на Server, а с Server на Client. На Client обрабатывается полученная информация и посылается новый запрос о добавлении книги в базу. После того как книга добавляется в базу данных, на Client приходит сообщение, что книга добавлена в базу данных.
Диаграмма классов описывает структуру системы, показывая её классы, их атрибуты и операторы, а также взаимосвязи этих классов.
На рисунке Б. 3 и рисунке Б. 4 (Приложение Б) изображены диаграмма классов клиента и диаграмма классов сервера соответственно.
Диаграмма состояний предназначена для отображения состояний объектов системы, имеющих сложную модель поведения.
На рисунке Б. 5 (Приложение Б) изображена диаграмма состояний для данной системы. Диаграмма компонентов показывает разбиение программной системы на структурные компоненты и связи между компонентами.
На рисунке Б. 6 (Приложение Б) изображена диаграмма компонентов для данной системы. Диаграмма развёртывания предназначена для визуализации элементов и компонентов программы, существующих лишь на этапе ее исполнения. На рисунке Б. 7 (Приложение Б) изображена диаграмма развёртывания для данной системы.
Erwin - средство разработки структуры базы данных. Erwin создает визуальное представление для данного проекта. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой разработки.
Процесс построения информационной модели состоит из следующих шагов:
2.Определение зависимостей между сущностями;
3.Задание первичных и альтернативных ключей;
4. Определение атрибутов сущностей;
5.Составление логической (logical) модели;
6. Переход к физическому (physical) описанию модели.
Так можно сделать вывод, что в erwin существуют два уровня представления и моделирования - логический и физический.
Рассмотрим каждый уровень по отдельности.
Логический уровень означает прямое отображение фактов из реальной жизни. На логическом уровне не рассматривается использование конкретной СУБД, не определяются типы данных и не определяются индексы для таблиц.
Проанализировав данную предметную область, в проекте было решено создать четыре сущности (рисункеВ.1 (Приложение В)):
Рассмотрим каждую сущность по отдельности.
Сущность «книги» содержит информацию обо всех книгах и имеет следующие атрибуты:
ь Yearofpublish - год издательства;
ь Count - количество, имеющихся книг в наличии;
ь Idathor - уникальный номер автора;
ь Idpublish - уникальный номер издательства;
Сущность «издательства» содержит информацию об издательствах выпускаемых книг и имеет следующие атрибуты:
ь Idpublish - уникальный номер издательства;
Сущность «авторы» содержит информацию об авторах книг и имеет следующие атрибуты:
ь Idathor - уникальный номер автора;
Сущность «продажи» содержит информацию о продажах книг и имеет следующие атрибуты:
ь Idpurchase - уникальный номер продажи;
Сущности «книги» и «издательства», «книги» и «авторы», «продажи» и «книги» соединены между собой связями FK_publish_book (связь «один ко многим»), FK_athor_book (связь «один ко многим») и FK_book_purchase (связь «один ко многим»). Первая связь говорит о том, что одноиздательство может предлагать магазинубольшое разнообразие книг. Вторая связь говорит о том, что в магазине может быть много книг одного автора.
Второй (физический) уровень модели Erwin, зависит от конкретной СУБД, содержит имена объектов, индексы и типы данных (рисункеВ.2 (Приложение В)).
Если все атрибуты являются простыми и их нельзя разделить на составные части (без потери смысла), то сущность находиться в первой нормальной форме. Для того чтобы привести данную систему учёта книг в магазине к первой нормальной форме, необходимо разделить сложные атрибуты на атомарные, связать сущности связью «один ко многим».Атрибуты, хранящие замысловатую информацию, необходимо разделить на более простые. Проанализировав данную систему работы книжного магазина, можно сделать вывод, что данная модель находиться в первой нормальной форме.
Если модель находиться в первой нормальной форме, отсутствуют не ключевые атрибуты, зависящие от первичного ключа, то можно говорить, что модель находиться во второй нормальной форме. А так же, если сущность имеет первичный ключ и находится в первой нормальной форме, то можно говорить, что данная модель находиться во второй нормальной форме. Рассмотрев данную модель учёта книг, можно сделать вывод, что она находится во второй нормальной форме, так как сущности находятся в первой нормальной форме и имеют первичные ключи (т.е. ключ, состоящий из одного атрибута).
Если сущность находится во второй нормальной форме и отсутствуют функциональные зависимости между ее неключевыми атрибутами, то такая сущность находиться в третьей нормальной форме. Проанализировав данную систему учёта книг, можно сказать, что данная модель находится в третьей нормальной форме.
Задача построения логической и физической моделей базы данных была реализована с помощью использования локального средства технологии еrwin. Erwin - средство концептуального моделирования БД, использующее методологию IDEF1.X. Данное средство было выбрано т.к. оно позволило не только построить логическую и физическую модели базы данных, но и осуществить последующий реинжиниринг существующей БД, т.е. сгенерировать, созданную в еrwin информационную модель в СУБД mysql Workbench5.2 CE.
В качестве целевой базы данных была выбрана СУБД.
Сам проект написан на языке программирования Java , чему поспособствовал ряд факторов.
Во-первых, одним из основных преимуществ языка Java является независимость от платформы, на которой выполняются программы. Это действительно необходимо, когда программы загружаются по сети для последующего выполнения под управлением различных операционных систем.
Во-вторых, язык Java является полностью объектно-ориентированным языком, даже в большей степени, чем С++. Все сущности в языке Java являются объектами, за исключением лишь некоторых основных типов, например, чисел.
В-третьих, на языке Java намного проще разрабатывать программы, не содержащие ошибок. Разработчики языка Java снабдили его средствами, позволяющими исключить саму возможность создавать программы, в которых были бы скрыты наиболее распространённые ошибки. Для этого в языке Java сделано следующее:
- исключена возможность явного выделения и освобождения памяти;
- введены истинные массивы и запрещена арифметика указателей;
- исключена возможность перепутать оператор присваивания с оператором сравнения на равенство;
- исключено множественное наследование. Оно заменено на понятие интерфейс.
В-четвёртых, обладая большой библиотекой программ для передачи данных на основе протоколов TCP / IP , язык Java предоставляет мощный и удобный механизм для работы в сети.
В-пятых, в языке Java довольно лёгкий механизм организации многопоточности. Потоки в языке Java могут использовать преимущества многопроцессорных систем, что делает этот язык привлекательным для разработки серверов.
И, наконец, язык Java во многих отношениях является более динамичным, чем языки С или С++. Он был разработан так, чтобы легко адаптироваться к постоянно изменяющейся среде. В библиотеки можно свободно добавлять новые методы и объекты, не причиняя никакого вреда.
Для создания проекта использовалась среда разработки netbeansIDE, которая является одной из мощнейших средств разработки программных продуктов.
Заметим, что вся бизнес-логика функционирования системы сосредоточена в серверной части. Там выполнены такие операции, как соединение с базой данных, добавление данных в базу, редактирование данных, удаление записей из неё, а также чтение данных.
Когда пользователь выбирает определенную операцию, клиент отправляет серверу объект или какую-нибудь команду. После того, как сервер обработает полученную информацию, он посылает клиенту результат его работы. В приложении Д изображена блок-схема для данной операции.
Для того чтобы наглядно отобразить алгоритм, реализующий бизнес-логику северной части системы «Книжный магазин», мы рассмотрим на примере добавления издательства в базу данных.
После того как клиент выбирает операцию добавления издательства, серверу посылается объект класса Dialog с информацией номера сообщения и строки с запросом в базу данных:
This.outnetstream.writeobject(new Dialog("1", sqlcurrency));
В строке sqlcurrency уже хранится информация об издательстве (имя издательства), которое пользователь хочет добавить в базу данных.
На следующем этапе будет выполняться запрос для добавления издательства в базу данных, в таблицу издательство (publish):
String sqlcurrency = "INSERT INTO athor (nameathor) VALUES ('" +
Jnameathor.gettext() - получения имени издательства из текстового поля для ввода;
После запросы вызываются методы исполнения:
Sqlcommand.executeupdate(inmsg.getnexttype());
Аналогичным способом реализуются и остальные запросы на выполнение команд пользователя.
Для начала запускается серверная часть (рисунок 7.1).
Рисунок 7.1 - Запуск серверной части
После запуска сервера можно запускать клиентскую часть приложения (рисунок 7.2).
Рисунок 7.2 - Запуск клиентской части
После запуска клиента необходимо выбрать пункт меню «Подключение к серверу», после чего появиться окно «Соединение с сервером» (рисунок 7.3), в котором необходимо порт серверного компьютера.
Рисунок 7.3 - Соединение с сервером
При нажатии кнопки «Подключиться» появляется окно клиента, в котором мы продолжаем работу (рисунок 7.4).
Рисунок 7.4 - Окно клиента после подключения
После подключения к серверу пользователю будет доступны следующие операции:
· Добавление издательства в базу данных;
· Добавление книги в корзину покупателя;
· Поиск книги по заданному критерию.
Для тестирования разработанной системы «Книжный магазин» следует её запустить и проверить работоспособность всех имеющихся операций.
Для начала проверим операцию добавления книги.
Если пользователь некорректно ввёл данные о книге, то высветится окно о некорректном вводе. Рассмотрим пример добавления книги в базу данных. Так таблица, содержащая данные о книгах, выглядит изначально (рисунок 8.1):
При выборе в главном меню пункта «Добавить книгу» появляется окно «Добавление книги», в котором необходимо вписать имя книги, год публикации, количество книг, стоимость книги и выбрать издательство книги и автора (рисунок 8.2):
После добавления книга будет отображаться в таблице, содержащей информацию о книгах (рисунок 8.3):
Рисунок 8.3 - Отображение добавленной книги в таблице
Аналогичным способом добавляется новоеиздательство и автор книги в базу данных.
Рассмотрим пример редактирования данных об издательстве. Выбираем нужную ячейку для редактирования, изменяем данные на нужные нам, жмем клавишу «Enter». Появляется окно с данными и уже внесенными изменениями (рисунок 8.4).
Рисунок 8.4 - Редактирование данных
Также при просмотре базы данных пользователь может удалить книгупри нажатие на кнопки «Удалить книгу»,купить книгупри нажатии кнопки «Купить». Пользователь может просмотреть данные о продажи при нажатии кнопки «Просмотр продаж» (рисунок 8.5).
Рисунок 8.5 - Отображение покупательской корзины
Аналогичным способом можно проделать и остальные похожие действия.
Поиск книг осуществляется по заданным критериям. Продемонстрируем работу операции «Поиск» на примере. Для этого необходимо ввести необходимые критерии, после чего в таблице отобразиться вся информация об искомойкниге (рисунок 8.7):
Рисунок 8.7 - Ввод данных для поиска
Оценив работу программы, можно сделать выводы:
· В программе предусмотрен удобный и понятный интерфейс;
· Выполнены все поставленные задачи;
· Предусмотрена работа для отлова исключительных ситуаций, в случае возникновения которых пользователь получает сообщение о некорректном вводе;
· Программа выполнена в архитектуре клиент-сервер;
· Предусмотрена работа одновременно с несколькими клиентами.
Целью данного курсового проекта являлась разработка эффективной системы «Книжный магазин».
В программе реализована многопоточность, которая позволяет получать одновременный доступ к базе данных книг с различных удаленных компьютеров.
Приложение поддерживает «клиент - серверную» архитектуру.
Программа содержит полный набор методов, которые необходимы для создания базы данных, поиска информации и выполнения других операций с базой данных (добавление, удаление, редактирование, поиск).
Данная информационная система позволяет систематизировать полученную и имеющуюся информацию и значительно упрощает работу.Значительно упрощает работа продавца книжного магазина: систематизирует поиск нужной книги, оплату покупательской корзины, просмотра чека и общей суммы к оплате, просмотра прибыли в течении дня.
Конечно же, следует заметить, что данный программный продукт всего лишь упрощённая версия более сложных программных систем учёта книг в магазине.
Однако возможно дальнейшее развитие данного проекта с помощью добавления новых операций и дополнительных функций.
автоматизация программный учет книга
1. Википедия [Электронный ресурс]. - Электронные данные. - Режим доступа: http://ru.wikipedia.org
2. Справочник программиста [Электронный ресурс]. - Электронные данные. - Режим доступа: http://ci.ru
3. Буч, Г. UML Руководство пользователя / Г. Буч. - М.: Вильямс, 2005. - 260с.
4. Гольцман, В. MySQL 5.0. Библиотека программиста / В. Гольцман. - СПб.: Питер Ком, 2006. - 253 с.
5. Федотова, Д. CASE - технологии: Практикум. - М.: Горячая линия -Телеком, 2005. - 160с
6. Хорстманн, К.JAVA2. Библиотека профессионала. Основы. Том 1. 8-е издание. Пер.с англ. - М: ООО «И.Д.Вильямс», 2009 - 816с
7. Хорстманн, К. Хорстманн и Г. Корнелл. JAVA2. Том 2. Тонкости программирования. Пер. с англ. - М: ООО «Вильямс», 2003 - 1120с
Рисунок А.1 - Контекстная диаграмма верхнего уровня
Рисунок А.2 - Декомпозиция контекстной диаграммы
Рисунок Б.1 - Диаграмма вариантов использования
Рисунок Б.2 - Диаграмма последовательности
Рисунок Б. 3 - Диаграмма классов для клиентского приложения
Рисунок Б. 4 - Диаграмма классов для серверного приложения
Рисунок Б. 5- Диаграммы классов пакета BooksCollection
Рисунок Б. 7 - Диаграмма компонентов
Рисунок Б. 8 - Диаграмма развёртывания
Рисунок В. 1 - Логическая модель представления системы учета книг в магазине
Рисунок В. 2 - Физическая модель представления системы учета книг в магазине
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS,
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
CREATE SCHEMA IF NOT EXISTS `books1` DEFAULT CHARACTER
CREATE TABLE IF NOT EXISTS `books1`.`publish` (
`Idpublish` INT(11) NOT NULL AUTO_INCREMENT ,
CREATE TABLE IF NOT EXISTS `books1`.`book` (
`Idbook` INT(11) NOT NULL AUTO_INCREMENT ,
`yearofpublish` INT(11) NULL DEFAULT NULL ,
`Count` VARCHAR(50) NULL DEFAULT NULL ,
`Price` INT(11) NULL DEFAULT NULL ,
INDEX `FK_book_publish` (`Idpublish` ASC) ,
INDEX `FK_book_athor` (`Idathor` ASC) ,
REFERENCES `books1`.`publish` (`Idpublish` )
REFERENCES `books1`.`athor` (`Idathor` )
CREATE TABLE IF NOT EXISTS `books1`.`athor` (
`Idathor` INT(11) NOT NULL AUTO_INCREMENT ,
CREATE TABLE IF NOT EXISTS `books1`.`purchase` (
`Idpurchase` INT(11) NOT NULL AUTO_INCREMENT ,
`Price` INT(11) NULL DEFAULT NULL ,
`Date_T` TimeStamp NOT NULL DEFAULT NOW(),
INDEX `FK_purchase_book` (`Idbook` ASC) ,
REFERENCES `books1`.`book` (`Idbook` )
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
Листинг некоторых главных функций программы
public class server_frame extends javax.swing.JFrame {
private static Connection connection = null;
//
jScrollBar1 = new javax.swing.JScrollBar();
jLabel2 = new javax.swing.JLabel();
PortID = new javax.swing.JFormattedTextField();
OkServer = new javax.swing.JButton();
jLabel3 = new javax.swing.JLabel();
jpass = new javax.swing.JTextField();
Port.setTitle("Ввод порта сервера");
Port.setBackground(newjava.awt.Color(153, 153, 153));
Port.setForeground(new java.awt.Color(204, 0, 0));
Port.setMinimumSize(new java.awt.Dimension(350, 200));
Port.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEventevt) {
jLabel2.setFont(new java.awt.Font("Batang", 1, 14));
jLabel2.setText("Ввод порта сервера");
jLabel2.setMaximumSize(new java.awt.Dimension(102, 14));
javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAIS
javax.swing.text.DefaultFormatterFactory(new
javax.swing.text.MaskFormatter("####")));
} catch (java.text.ParseException ex) {
PortID.setDisabledTextColor(new java.awt.Color(255, 255, 255));
PortID.setFont(new java.awt.Font("Bookman Old Style", 0, 14));
PortID.setSelectionColor(new java.awt.Color(255, 255, 255));
OkServer.setBackground(new java.awt.Color(255, 255, 255));
OkServer.setFont(new java.awt.Font("Batang", 0, 11));
OkServer.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.sw
OkServer.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEventevt) {
jLabel3.setFont(new java.awt.Font("Batang", 1, 14));
jLabel3.setMaximumSize(new java.awt.Dimension(102, 14));
jpass.setFont(new java.awt.Font("Batang", 0, 14));
javax.swing.GroupLayoutPortLayout = new
javax.swing.GroupLayout(Port.getContentPane());
Port.getContentPane().setLayout(PortLayout);
PortLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
.addGroup(PortLayout.createSequentialGroup()
.addGroup(PortLayout.createParallelGroup(javax.swing.GroupLayout.Align
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(PortLayout.createParallelGroup(javax.swing.GroupLayout.Align
.addComponent(jpass, javax.swing.GroupLayout.PREFERRED_SIZE, 49,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PortID, javax.swing.GroupLayout.PREFERRED_SIZE, 50,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(98, Short.MAX_VALUE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
.addContainerGap(138, Short.MAX_VALUE)
.addComponent(OkServer, javax.swing.GroupLayout.PREFERRED_SIZE,
114, javax.swing.GroupLayout.PREFERRED_SIZE)
PortLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEA
.addGroup(PortLayout.createSequentialGroup()
.addGroup(PortLayout.createParallelGroup(javax.swing.GroupLayout.Align
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(PortID, javax.swing.GroupLayout.PREFERRED_SIZE, 28,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(PortLayout.createParallelGroup(javax.swing.GroupLayout.Align
.addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jpass, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(OkServer, javax.swing.GroupLayout.PREFERRED_SIZE,
30, javax.swing.GroupLayout.PREFERRED_SIZE)
jLabel2.getAccessibleContext().setAccessibleName("Вводпортасервера:");
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOS
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING
private void OkServerActionPerformed(java.awt.event.ActionEventevt) {
a = Integer.parseInt(PortID.getText());
System.out.println(Calendar.getInstance().getTime() + "
ServerSocket s = new ServerSocket(a);
System.out.println("Клиент №" + count);
Runnable r = new ServerS(incoming, i);
private void PortWindowClosing(java.awt.event.WindowEventevt) {
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
newserver_frame().setVisible(false);
// Variables declaration - do not modify
privatejavax.swing.JButtonOkServer;
privatejavax.swing.JFormattedTextFieldPortID;
privatejavax.swing.JScrollBar jScrollBar1;
privatejavax.swing.JTextFieldjpass;
importjava.net.UnknownHostException;
public class SocketClass extends Socket {
private static SocketClass _instance = null;
private static ObjectInputStreaminNetStream;
private static ObjectOutputStreamoutNetStream;
privateSocketClass(String host, intportNum) throws
UnknownHostException, IOException {
public static synchronized SocketClassgetInstance(String host, int port)
UnknownHostException, IOException {
_instance = new SocketClass(host, port);
SocketClass.setOutNetStream(newObjectOutputStream(_instance.getOutput
ObjectInputStream(_instance.getInputStream()));
publicObjectInputStreamgetInNetStream() {
publicObjectOutputStreamgetOutNetStream() {
public static void setInNetStream(ObjectInputStreaminNetStream) {
SocketClass.inNetStream = inNetStream;
public static void setOutNetStream(ObjectOutputStreamoutNetStream) {
SocketClass.outNetStream = outNetStream;
if ("Издательство".equals(myFlag)) {
outNetStream.writeObject(new Dialog("3", "SELECT * FROM publish"));
Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex);
PublishList object = new PublishList();
DefaultTableModeljTempTableModel = new DefaultTableModel();
jTempTableModel.setColumnIdentifiers(this.Vector1);
object = (PublishList) inNetStream.readObject();
Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(client.class.getName()).log(Level.SEVERE, null, ex);
for (int i = 0; i Формирование базы данных книг магазина на Java курсовая работа. Программирование, компьютеры и кибернетика.
Доклад: Правила аллена и бергмана
Курсовая работа по теме Понятие преступления по уголовному праву
Реферат: Характеристика экономического развития древних цивилизаций
Курсовая работа: Юмор и сатира 20-х годов. Скачать бесплатно и без регистрации
Сочинение История Растения Которое Приносит Людям Пользу
Языковые Особенности Научного Стиля Речи Реферат
Купить Курсовую Казань
Курсовая работа по теме Имущественное страхование и направления его развития в Республике Беларусь
Доклады На Тему Налоговая Система
Контрольная работа по теме Таможенная процедура временного ввоза (допуска) и вывоза товара
Практическая Работа Управленческие Решения
Дипломная работа: Физическое воспитание во взаимосвязи с нравственным воспитанием в младшем школьном возрасте
Реферат по теме Монтаж как выразительное средство. Внутрикадровый монтаж. Монтаж как способ режиссёрского мышления
Реферат: Как устроены МСЗ
Реферат по теме Договоры перевозки грузов на морском транспорте
Реферат Бег На Короткие Дистанции Спринт
Шпаргалка: Основы естествознания
Дипломная работа по теме Этико-правовое регулирование в сфере здравоохранения
Курсовая работа по теме Преимущества и недостатки ламп накаливания и газоразрядных ламп
Реферат: Самоконтроль в процессе занятий физкультурой. Скачать бесплатно и без регистрации
Забалансовые счета - Бухгалтерский учет и аудит курсовая работа
Противогрибковые препараты - Медицина презентация
Роль мультимедийной презентации в повышении познавательной активности учащихся на уроках английского языка - Педагогика курсовая работа


Report Page