Главная страница
Контакты

    Главная страница


База данных "Тюрьма"

Скачать 216.92 Kb.



Скачать 216.92 Kb.
Дата14.05.2017
Размер216.92 Kb.

База данных "Тюрьма"


Негосударственное образовательное учреждение высшего профессионального образования

«Региональный открытый социальный институт»

Кафедра Информатики, вычислительной техники и автоматизации

Курсовая работа

по дисциплине: Базы данных

База данных «Тюрьма»

Студента 3 курса, очной формы

обучения, группы: ВТ12о

инженерно-технологического

факультета Шум И. А.

Ба́за да́нных - представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ).
Уче́бное заведе́ние - прежнее название в дореволюционной России, а впоследствии и в СССР и Российской Федерации (до 1992 года) образовательного учреждения. В соответствии с действующим российским законодательством - это учреждение, осуществляющее образовательный процесс, то есть реализующее одну или несколько образовательных программ и (или) обеспечивающее содержание и воспитание обучающихся, воспитанников. (Закон России «Об образовании»).
Вы́сшее образова́ние, или вы́сшее профессиона́льное образова́ние - уровень профессионального образования, следующий после среднего общего или профессионального образования. Включает в себя совокупность систематизированных знаний и практических навыков, которые позволяют решать теоретические и практические задачи по профессиональному профилю, используя и творчески развивая современные достижения науки, техники и культуры. Под термином «высшее образование» понимается также подготовка специалистов высшей квалификации для отраслей экономики, науки, техники и культуры в различного типа высших школах.

Научный руководитель:

ст. пр-ль Дятлова Л. В.

Оглавление

Введение

Глава 1. Анализ требований к разрабатываемой программе

1.1 Описание сферы применения

1.2 Описание компании заказчика

1.3 Постановка задачи

1.4 Минимальные системные требования

Глава 2.

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

2.1 Интерфейс главного меню

2.2 Окно просмотра списка заключенных

2.3 Окно просмотра списка обслуживающего персонала

2.4 Окно просмотра списка обслуживающего персонала

2.5 Перечень добавленных компонентов

Глава 3. Реализация программы «Тюрьма»

3.1 Содержимое базы данных

3.2 Выбор языка программирования

3.3 Выбор среды разработки

3.4 Выбор СУБД

Заключение

Список литературы

Приложения

Введение

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

Лишение свободы Лише́ние свобо́ды - вид уголовного наказания, заключающийся в принудительной изоляции преступника от общества в специализированном учреждении с определённым режимом отбывания наказания.
Интегри́рованная среда́ разрабо́тки, ИСP/IDE (англ. Integrated development environment) - комплекс программных средств, используемый программистами для разработки программного обеспечения (ПО).
Язык программи́рования - формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно - ЭВМ) под её управлением.
Уголовное право Уголо́вное пра́во - отрасль права, регулирующая общественные отношения, связанные с совершением преступных деяний, назначением наказания и применением иных мер уголовно-правового характера, устанавливающая основания привлечения к уголовной ответственности либо освобождения от уголовной ответственности и наказания.
Тюрьмой также часто называют учреждение, где подозреваемые и обвиняемые в совершении преступлений содержаться под стражей до суда. В большинстве случаев в разговорной русской речи под тюрьмой понимается любое учреждение для исполнения уголовных наказаний или для предварительного заключения.
Наказание в уголовном праве - это меры государственного воздействия, применяемые к лицу, признанному виновным в совершении преступления. Наказание, таким образом, является своего рода социальным последствием преступления.

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

В ходе курсовой работы необходимо выполнить следующие задачи:

1) анализ требований;

2) проектирование программы;

3) реализация программы «Тюрьма»

Глава 1. Анализ требований к разрабатываемой программе

1.1 Описание сферы применения

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

Исправительная колония в СНГ - основной вид исправительных учреждений для содержания совершеннолетних граждан, осуждённых к лишению свободы.
Постоянное место жительства (также аббр. ПМЖ, permanent residency) - официально под «постоянным местом жительства» ранее подразумевался штамп в паспорте у тех, кто уезжал из СССР или России навсегда.
Более половины из них, не имеют никаких профессиональных и трудовых навыков, либо их утратили.

В ИК №2 созданы необходимые коммунально-бытовые условия для содержания осужденных. Осужденные проживают в довольно просторных кирпичных общежитиях. В спальных помещениях стоят двухъярусные и одноярусные койки. Имеются душевые кабинки, комнаты для сушки одежды, и хранения личных вещей. Есть кухни для чаепития, а также залы с телевизором и DVD.

Исправительное учреждение ФКУ ИК №2 УФСИН России по Курской области имеет собственное производство. Большое внимание уделяется трудовой адаптации осужденных. В ходе реформирования производственного сектора исправительного учреждения, государственное унитарное предприятие было преобразовано в Центр трудовой адаптации осужденных (ЦТАО).

Пенитенциарная (уголовно-исполнительная) система (от лат. poenitentia - раскаяние) - государственный институт, ведающий исполнением уголовных наказаний, наложенных на граждан в соответствии с законом. Обеспечивает исполнение наказаний как связанных, так и не связанных с лишением свободы, а также содержание подследственных с момента заключения под стражу до суда (до изменения меры процессуального пресечения в виде заключения под стражу).
Унита́рное предприя́тие - особая организационно-правовая форма юридического лица. Коммерческая организация, не наделённая правом собственности на закреплённое за ней собственником имущество. Имущество является неделимым и не распределяется по вкладам (долям, паям), в том числе между работниками предприятия.
Основными видами производственной деятельности предприятия ФКУ ИК №2 являются: швейное производство, деревообработка, а также изготовление сувенирных изделий. Предприятие специализируется на пошиве форменной и специальной одежды.
Специальная одежда - это средство индивидуальной защиты, предназначенная для защиты от вредных и опасных факторов для здоровья сотрудника на рабочем месте. В некоторых случаях, специальная одежда может рассматриваться работодателями как средство коммуникации с конечными потребителями и частными инвесторами, через атрибуцию элементами корпоративного стиля.
В ассортименте продукции более 100 различных моделей. Опытные сотрудники конструкторско-технологического отдела разрабатывают модели одежды по индивидуальным заказам.

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

Хлебобу́лочное изделие - готовый к употреблению продукт хлебопекарного производства, основная продукция хлебобулочной промышленности. Определяющая группа хлебобулочных изделий - хлеб, в составе которой выделяется подгруппа хлебных булочных изделий (батоны, плетёнки, сайки, халы, калачи); другие две важные группы (отчасти пересекающиеся) - изделия пониженной влажности (бараночные изделия, сухари, хлебцы, гриссини, гренки, галеты, крекеры, брецели) и сдобные хлебобулочные изделия (продукты с высоким содержания сахара и жиров - пироги, пирожки, пончики, бриоши), значительная часть последней группы входит в группу мучнистых кондитерских изделий.
В исправительной колонии имеется развитое подсобное хозяйство, заключенные занимаются выращиванием крупного-рогатого скота, свиней, овощей. Вместе с тем, в настоящее время, производственные площади и оборудование предприятия загружены не на полную мощность. Несмотря, на принимаемые администрацией ИК №2 меры, уровень трудозанятости осужденных остается низким, более половины трудоспособных осужденных не заняты трудом.

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

Общее образование (первый уровень образования) - непрофессиональное и неспециальное образование.
Настоя́щее - часть линии времени, состоящая из событий, которые происходят в данный момент, то есть определенная область пространства-времени. При определённых допущениях под настоящим временем понимаются текущие дни, месяцы и даже годы.
Шко́ла (от др.-греч. σχολή, σχολά - досуг, учебное занятие, школа) - учебное заведение для получения общего образования. В широком смысле слово может применяться к названию любого образовательного учреждения (музыкальная школа, художественная школа, спортивная школа - ДЮСШ, школа боевых искусств и т. д.).
В профессиональном училище №42 осуждённые обучаются по следующим специальностям: наладчик швейного оборудования, швея-моторист, электромонтажник и слесарь, которые востребованы на рынке труда.
Профессиональное училище (сокращённо ПУ) - среднее профессиональное (ранее начальное профессиональное образование) учебное заведение в России и странах бывшего СССР по подготовке квалифицированных рабочих по профессиям, требующим повышенного образовательного уровня.
Получение профессии дает возможность осужденным трудоустроиться как в Центре трудовой адаптации осужденных ИК №2, так и после освобождения из исправительной колонии. Осужденные могут получить и высшее образование на дистанционной форме обучения.

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

Художественная самодеятельность - одна из форм народного творчества. Включает в себя в том числе создание и исполнение художественных произведений силами исполнителей - любителей индивидуально (певцы, чтецы, музыканты, танцоры, акробаты) или коллективно (кружки, студии, народные театры).
Компью́тер (англ. computer, МФА: [kəmˈpjuː.tə(ɹ)] - «вычислитель») - устройство или система, способная выполнять заданную, чётко определённую, изменяемую последовательность операций. Это чаще всего операции численных расчётов и манипулирования данными, однако сюда относятся и операции ввода-вывода.
Спорт (англ. sport, сокращение от первоначального старофранц. desport - «игра», «развлечение») - организованная по определённым правилам деятельность людей, состоящая в сопоставлении их физических и/или интеллектуальных способностей, а также подготовка к этой деятельности и межличностные отношения, возникающие в её процессе.
На территории ИК №2 расположен храм Святой мученицы Анастасии Узоразрешительницы, который открыт до позднего вечера.

1.2 Описание компании заказчика

Организацией сделавшей заказ данного программного продукта является Исправительная колония № 2 (п.

Програ́ммное обеспе́чение (допустимо также произношение обеспече́ние) (ПО) - все или часть программ, процедур, правил и соответствующей документации системы обработки информации (ISO/IEC 2382-1:1993).
Косиново), Курская область. История исправительной колонии №2 начинается с 50-х годов ХХ века. В поселке Косиново до 1942 года был лагерь для немецких военнопленных. С 1954 года было создано лагерное отделение №5. Со временем, лагерное отделение было перепрофилировано в исправительно-трудовую колонию (ИТК). За период своей деятельности, исправительное учреждение неоднократно перепрофилировалось, переподчинялось, изменялся лимит наполнения, а также название исправительного учреждения - ОХ-30/2. В настоящее время, исправительная колония №2 официально именуется - Федеральное казенное учреждение «Исправительная колония №2 Управления Федеральной службы исполнения наказаний по Курской области» (ФКУ ИК №2 УФСИН России по Курской области).
Госуда́рственное учрежде́ние - некоммерческая организация, созданная собственником для осуществления управленческих, социально-культурных или иных функций некоммерческого характера и финансируемая им полностью или частично.
Федеральная служба исполнения наказаний Федеральная служба исполнения наказаний (ФСИН России) - федеральный орган исполнительной власти, подведомственный Министерству юстиции Российской Федерации, который осуществляет правоприменительные функции, функции по контролю и надзору в сфере исполнения уголовных наказаний в отношении осуждённых, функции по содержанию лиц, подозреваемых либо обвиняемых в совершении преступлений, и подсудимых, находящихся под стражей, их охране и конвоированию, а также функции по контролю за поведением условно осуждённых и осуждённых, которым судом предоставлена отсрочка отбывания наказания. Федеральная служба исполнения наказаний создана для исполнения наказаний и для содержания под стражей подозреваемых, обвиняемых, осуждённых. В подчинении службы находятся все места лишения свободы России. Контроль за условно-осуждёнными лицами, лицами, осуждёнными к исправительным и обязательным работам, а также ограничению свободы ведут уголовно-исполнительные инспекции ФСИН России. ФСИН России является юридическим лицом и имеет свою печать с изображением Государственного герба Российской Федерации и со своим наименованием, иные печати, штампы и бланки установленного образца, а также счета, открываемые в соответствии с законодательством Российской Федерации. Официальный праздник службы - День работника уголовно-исполнительной системы, отмечается 12 марта (утверждён Указом Президента Российской Федерации от 16.11.2010 г. № 1433).
В исправительной колонии №2 отбывают наказание лица, приговоренные к лишению свободы за совершение тяжких и особо тяжких преступлений, ранее отбывавшие наказание в местах лишения свободы, т.е.
Преступле́ние (уголо́вное преступле́ние) - правонарушение (общественно опасное деяние), совершение которого влечёт применение к лицу мер уголовной ответственности. Преступления могут выделяться из общей массы правонарушений по формальному признаку (установление за них уголовного наказания, запрещённость уголовным законом), а также по материальному признаку (высокая степень опасности их для общества, существенность причиняемых ими нарушений правопорядка).
Пенитенциа́рная (уголо́вно-исполни́тельная) систе́ма (от лат. poenitentia - раскаяние) - государственный институт, ведающий исполнением уголовных наказаний, наложенных на граждан в соответствии с законом.
рецидивисты. На строгом режиме содержания лимит наполнения составляет 1560 мест. При исправительной колонии функционирует участок колонии-поселения на 60 мест.

1.3 Постановка задачи

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

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

1) вывод данных о заключенных, охранниках и обслуживающем персонале.

2) добавление данных в базу;

3) удаление данных из базы;

4) поиск информации.

Информацио́нный по́иск (англ. information retrieval) - процесс поиска неструктурированной документальной информации, удовлетворяющей информационные потребности, и наука об этом поиске.

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

1.4 Минимальные системные требования

Системные требования:

1) Операционная система: Windows xp/Vista/7/8;

2) Компьютер с процессором Intel Pentium 2 или AMD Athlon XP 1200 ;

3) 128 MB RAM;

4) 30 MB свободного места на жёстком диске;

5) 128 MB видеокарта;

6) Мышка и клавиатура;

7) Подключение к сети Интернет;

Pentium (произносится Пе́нтиум) - торговая марка нескольких поколений микропроцессоров семейства x86, выпускаемых корпорацией Intel с 22 марта 1993 года. Pentium является процессором Intel пятого поколения и пришёл на смену Intel 80486 (который часто называют просто 486).
Интерне́т (англ. Internet, МФА: [ˈɪn.tə.net]) - всемирная система объединённых компьютерных сетей для хранения и передачи информации. Часто упоминается как Всемирная сеть и Глобальная сеть, а также просто Сеть.

8) Современный браузер (Opera 10, Internet Explorer 8.0).

Internet Explorer (читается «Интернет Эксплорер», сокращённо MSIE или IE; /aɪ iː/) - программа-браузер, которую разрабатывала корпорация Microsoft с 1995 по 2015 год. Входила в комплект операционных систем семейства Windows вплоть до Windows 10, где её сменил Microsoft Edge.

9) Установленный пакет Java.

10) Монитор.

Глава 2. Проектирование

2.1 Интерфейс главного окна

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

Рис 2.1 Окно главного меню

2.2 Окно просмотра списка заключенных

Рис 2.2 Окно просмотра списка заключенных

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

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

Рис 2.3 Окно добавление заключенного

2.3 Окно просмотра списка обслуживающего персонала

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

Рис. 2.4 Окно просмотра обслуживающего персонала

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

Рис. 2.5 Окно добавления обслуживающего персонала.

2.4 Окно просмотра списка обслуживающего персонала

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

Рис. 2.6 Окно просмотра списка охраны

Рис. 2.6 Окно добавления нового охранника.

Для осуществления добавления охранников в базу данных используется окно на рисунке 2.7. В нем предусмотрены поля: фамилия, имя, отчество, возраст и зарплата.

2.5 Перечень добавленных компонентов

Перечень различных компонентов, которые пришлось добавить, и задачи, которые они выполняют:

1. Компонент jLabele - служит для предоставления названия того или иного поля заполнения;

2. Компонент jTable - служит для вывода различной информации из базы данных;

3. Компонент jButtom - служит для выполнения различных задач;

4. Компонент jTextBox - служит для добавления небольших записей в базу данных;

5. Компонент jTextArea - служит для ввода/вывода большого количества строковой информации;

6. Компонент jPanel - служит для удобства вертски форм;

7. Компонет jScrollPanel - служит для пролистывания таблицы.

Глава 3. Реализация программы «Тюрьма»

3.1 Содержимое базы данных

1) Таблица Осужденный

Столбцы:

1.1 Идентификатор осужденного (Ключевое поле)

1.2 Фамилия

1.3 Имя

1.4 Отчество

1.5 Начало срока

1.6 Конец срока

2) Таблица Обслуживающий персонал

Столбцы:

2.1 Идентификатор обслуживающего персонала(Ключевое поле)

2.2 Фамилия

2.3 Имя

2.4 Отчество

2.5 Специализация

2.6 Телефон

3) Таблица Охрана

Столбцы:

3.1 Идентификатор охрана(Ключевое поле)

3.2 Фамилия

3.3 Имя

3.4 Отчество

3.5 Специализация

3.6 Телефон

3.7 Возраст

Схема базы данных представленна на рисунке 3.1.

Рис. 3.1 Схема данных

3.2 Выбор языка программирования

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

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

· С# - это объектно ориентированное продолжение языка СИ. Очень хороший вариант в нашем случае. Благодаря нему мы можем с легкостью работать с различными СУБД. Так же в него встроен удобный конструктор и редактор форм WindowsForms. Но, к сожалению, из-за того что это продукт Microsoft могут возникнуть различные проблемы с лицензией, поэтому мы не будем использовать его в данной работе.

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

· Java - это объектно-ориентированный язык программирования, имеющий Си подобный синтаксис.

Объе́ктно-ориенти́рованное программи́рование (ООП) - методология программирования, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
К нашему большому счастью в случае с данным языком проблем с лицензией у нас не будет. Так же в различных средах разработки для данного языка имеются хорошие и удобные конструкторы графического пользовательского интерфейса.
Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ. graphical user interface, GUI) - разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.)
А еще, в Java очень удобно и просто работать с различного рода СУБД. Исходя из вышеперечисленных факторов Java - наш выбор.

3.3 Выбор среды разработки

Eclipse - это свободная среда для разработки. Она поддерживает множество языком, в том числе и, выбранный нами, Java. Это очень удобный и простой интерфейс. К сожалению, на ней не совсем удобно держать полноценное приложение с сервером и СУБД. Она больше подходит для разработки приложений на Android, в связи с этим Eclipse не наш выбор. Придется найти альтернативу.

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

3.4 Выбор СУБД

Для решения поставленной задачи выбор СУБД является чрезвычайно важным.

СУБД:

MySql - это самая распространенная реляционная система управления базами данных(на сегодняшний момент).

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

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

Apache derby - реляционная система управления базами данных написанная на языке Java.

Откры́тый до́ступ (англ. Open access (OA)) - бесплатный, быстрый, постоянный, полнотекстовый доступ в режиме реального времени к научным и учебным материалам, реализуемый для любого пользователя в глобальной информационной сети, осуществляемый по преимуществу к научно-исследовательским рецензируемым журналам.
Росси́я (от греч. Ρωσία - Русь), официально также Росси́йская Федера́ция[К 8], на практике используется и аббревиатура РФ[К 9]) - государство в Восточной Европе и Северной Азии. Население - 146 804 372 чел.
Реляционная база данных - база данных, основанная на реляционной модели данных.
Систе́ма управле́ния ба́зами да́нных (СУБД) - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Она распространяется свободно и занимает всего 2 MB места на жестком диске. Имеет массу русскоязычной докумнентации. В учебнике NetBeans целых несколько гайдов о том как устанавливать и пользоваться данной системой. Опять же, она сразу встроена в среду разработки NetBeans, по-этому, во избежание проблем, мы и будем ее использовать.

Заключение

база данные java derby

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

Во время создания данного курсового проекта были использован язык Java, среда разработки NetBeans и СУБД Derby.

Список литературы

1. Кэти Сиерра, Берт Бейтс. Изучаем Java. Издательство: Эксмо. 2012г. 720 с.

2. Барри Берд. Java для чайников. Издательство: Вильямс. 2012г. 368с.

3. Кей С. Хорстманн, Гари Корнелл. Java. Библиотека профессионала. Том 2.

Расширенные средства программирования. Издательство: Вильямс. 2014г.1008с.

4. Бен Форта. SQL за 10 минут. Издательство: Вильямс. 2014г. 288с.

5. Джеймс Р. Грофф, Пол Н. Вайнберг, Эндрю Дж. Оппель. SQL. Полное руководство. Издательство: Вильямс. 2015г. 961с.

6. Базы данных. Авторы: Ольга Голицына, Николай Максимов, Игорь Попов Издательство: Форум. 2012г. 400с.

7. http://www.ianywhere.com/

8. Настройка приложений баз данных. Авторы: Борис Новиков, Г. Домбровская. Издательство: БХВ-Петербург. 2012г. 240с.

9. Фельдман С.К. Система программирования Java без секретов: Как создать безопасное приложение с "нуля". - Новый издательский дом" , 2005 г. , 347 с.

10. Дейтел П.Дж., Дейтел Х.М. Как программировать на Java. Книга 2. Файлы, сети, базы данных. - "Бином" · 2005 г. 672 с.

11. http://www.avacco.ru/page.asp?code=electronniy_arhiv

12. http://www.java.alfamoon.com/

13.Пирогов, В.Ю. Информационные системы и базы данных: организация и проектирование: Учебное пособие / В.Ю. Пирогов. - СПб.: БХВ-Петербург, 2009. 528 c.

14.Советов, Б.Я. Базы данных: теория и практика: Учебник для бакалавров / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. - М.: Юрайт, 2013. 463 c.

15.Хомоненко А.Д. Базы данных: учебник для высших учебных заведений /А.Д.

Информационная система (ИС) - система, предназначенная для хранения, поиска и обработки информации, и соответствующие организационные ресурсы (человеческие, технические, финансовые и т. д.), которые обеспечивают и распространяют информацию (ISO/IEC 2382:2015).
Учебник - книга, содержащая систематическое изложение знаний в определённой области и используемая как в системе образования, на различных её уровнях, так и для самостоятельного обучения.
Вы́сшее уче́бное заведе́ние (сокращённо вуз, в соответствии с нормами русского языка пишется строчными буквами) Образовательная организация высшего образования (ООВО) с 2016 г. - учебное заведение, дающее высшее профессиональное образование и осуществляющее научную деятельность.
Хомоненко, В.М. Цыганков, М.Г. Мальцев; под ред. проф. А.Д. Хомоненко. Издательство: Корона-Принт. 2004г. 736с.

16.Кириллов В.В. Введение в реляционные базы данных / В.В. Кириллов, Г.Ю. Громов. - СПб.: БХВ-Петербург, 2012. 464 c.

17.Дейт К. Дж. Введение в системы баз данных: [пер с англ.] /К.Дж. Дейт. 6-е изд. Киев; М.; СПб. : Издательский дом «Вильямс», 1999. 848 с.

18.Коннолли Т. Базы данных: проектирование, реализация и сопровождение. Теория и практика: [пер. с англ.] / Т. Коннолли, К. Бегг, А. Страчан. 2-е изд. М. : Издательский дом «Вильямс», 2000. 1120 с.

19.Кузин А.В. Базы данных: Учебное пособие для студ.

Учебное пособие - учебное издание, дополняющее или частично заменяющее учебник, официально утвержденное в качестве данного вида издания (в СССР - ГОСТ 7.60-90; в РФ - ГОСТ 7.60–2003) и допущенное Министерством образования Российской Федерации к печати и выпуску.
высш. учеб. заведений / А.В. Кузин, С.В. Левонисова. - М.: ИЦ Академия, 2012. 320 c.

20. М. Мелдман, Д. Маклеод, Роберт Пелликор, Моррис Сквайр. RISS. Система управления реляционными базами данных для малых ЭВМ. M. : Издательство: Финансы и статистика, 1982. 144 c.

Приложение A. Исходный код

Листинг файла List.java

package kids;

import java.awt.ScrollPane;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.Vector;

import javax.swing.JOptionPane;

import javax.swing.table.DefaultTableModel;

public class List {

private String url = "jdbc:derby://localhost:1527/admin";

private String username = "Nikita";

private String password = "909878";

public DefaultTableModel fillList(DefaultTableModel dtm,String column1, String column2,String column3,String column4, String what, String from){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT " what " FROM " from;

ResultSet rs = stmt.executeQuery(s);

ResultSetMetaData rsmt = rs.getMetaData();

int c = 4;

Vector columns_name = new Vector();

Vector data_rows = new Vector();

columns_name.addElement(column1);

columns_name.addElement(column2);

columns_name.addElement(column3);

columns_name.addElement(column4);

dtm.setColumnIdentifiers(columns_name);

while(rs.next()){

data_rows = new Vector();

for(int j=1; j<= c; j ){

data_rows.addElement(rs.getString(j));

}

ScrollPane scroll = new ScrollPane();

dtm.addRow(data_rows);

}

}catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

return dtm;

}

// Этот метод ищет элемент в БД

// Параметрами являются: модель таблицы(dtm), названия столбцов(column1, column2,column3,colum4), параметр того, что мы ищем(what), и параметр откуда мы ищем в базе данных (from), и параметр поиск(searchText). Последние три параметра указывают на то откуда конкретно и что мы читаем в базе данных

public DefaultTableModel findElement(DefaultTableModel dtm,String column1, String column2,String column3,String column4, String what, String from, String searchText){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT " what " FROM " from " WHERE ФАМИЛИЯ ='" searchText "'";

ResultSet rs = stmt.executeQuery(s);

ResultSetMetaData rsmt = rs.getMetaData();

int c = 4;

Vector columns_name = new Vector();

Vector data_rows = new Vector();

columns_name.addElement(column1);

columns_name.addElement(column2);

columns_name.addElement(column3);

columns_name.addElement(column4);

dtm.setColumnIdentifiers(columns_name);

while(rs.next()){

data_rows = new Vector();

for(int j=1; j<= c; j ){

data_rows.addElement(rs.getString(j));

}

dtm.addRow(data_rows);

}

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

return dtm;

}

// Этот метод удаляет запись из БД

// Параметрами являются: номер столбца(col) и его параметр поиска(selectedRow).

public void deleteRow (int col, String selectedRow){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

if(col != -1){

String s = "DELETE FROM KID WHERE ФАМИЛИЯ ='" selectedRow "'";

PreparedStatement r = con.prepareStatement(s);

r.execute();

JOptionPane.showMessageDialog(null, "Запись успешно удалена !");

}

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

}

Приложение B

Листинг и описание класса Addition

package kids;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.JOptionPane;

public class Addition {

// Этои строки служат для подключения к базе данных.

private String url = "jdbc:derby://localhost:1527/admin";

private String username = "Nikita";

private String password = "909878";

// Этот метод создан для добавления ребенка в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel), номер школы(school) и проблему(problem).

public void addChild(String firstName, String Name, String thirdName, String tel, String date, String school, String problem ){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO KID( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, ДАТА_РОЖДЕНИЯ, НОМЕР_ШКОЛЫ, ПРОБЛЕМА) VALUES ('" firstName "','" Name "','" thirdName "', '" tel "', '" date "','" school "','" problem "')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Ребенок успешно добавлен !");

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

// Этот метод создан для добавления преподавателя в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel) и специализацию(specialazation).

public void addTeacher(String firstName,String Name,String thirdName,String Tel,String specialazation){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO TEACHER( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, СПЕЦИАЛИЗАЦИЯ) VALUES ('" firstName "','" Name "','" thirdName "', '" Tel "','" specialazation "')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Преподаватель успешно доваблен !");

} catch (SQLException ex){

JOptionPane.showMessageDialog(null,ex);

}

}

// Этот метод создан для добавления занятия в базу данных, он имеет параметры : дата, время, предмет, ФИО преподавателя, ФИО ученика..

public void addLesson(String subj, String date, String time, String teacher, String student){

try {

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO LESSON(ПРЕДМЕТ, ДАТА, ВРЕМЯ, УЧЕНИК, УЧИТЕЛЬ ) VALUES ('" subj "','" date "','" time "', '" student "','" teacher "')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Занятие успешно доваблено !");

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

// Этот метод создан для добавления договор в базу данных, он имеет параметры : ФИО (firstName, Name, thirdName), телефон(tel), номер место работы(place_of_work) и задачу(task).

public void addAgreement(String firstName,String Name,String thirdName,String Tel,String place_of_work,String date,String task){

try{

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String Query ="INSERT INTO AGREEMENT( ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН, МЕСТО_РАБОТЫ, ДАТА_РЕГИСТРАЦИИ, ЗАДАЧИ) VALUES ('" firstName "','" Name "','" thirdName "', '" Tel "','" place_of_work "','" date "','" task "')";

stmt.execute(Query);

JOptionPane.showMessageDialog(null, "Договор успешно доваблен !");

}catch (SQLException ex){

JOptionPane.showMessageDialog(null, ex);

}

}

}

Приложение C. Исходный код

Листинг файла Viev.java

package kids;

import java.awt.ScrollPane;

import java.util.*;

import java.sql.*;

import javax.swing.JOptionPane;

import javax.swing.table.*;

public class Viev extends javax.swing.JFrame {

private String what = "ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН";

private String from = "KID";

private String where = "ФАМИЛИЯ";

private String col1="Фамилия", col2="Имя", col3="Отчество", col4="Телефон";

public Viev() {

initComponents();

update();

}

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jPanel2 = new javax.swing.JPanel();

Refresh = new javax.swing.JButton();

SearchButtom = new javax.swing.JButton();

SearchText = new javax.swing.JTextField();

Delete = new javax.swing.JButton();

jButton1 = new javax.swing.JButton();

jPanel3 = new javax.swing.JPanel();

jScrollPane2 = new javax.swing.JScrollPane();

ProblemArea = new javax.swing.JTextArea();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Просмотр таблицы");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Таблица из базы данных", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Фамилия", "Title 2", "Title 3", "Title 4"

}

));

jTable1.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {

jTable1FocusGained(evt);

}

});

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jTable1MouseClicked(evt);

}

public void mouseEntered(java.awt.event.MouseEvent evt) {

jTable1MouseEntered(evt);

}

});

jTable1.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

jTable1CaretPositionChanged(evt);

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

}

});

jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent evt) {

jTable1PropertyChange(evt);

}

});

jTable1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

jTable1KeyPressed(evt);

}

public void keyTyped(java.awt.event.KeyEvent evt) {

jTable1KeyTyped(evt);

}

});

jScrollPane1.setViewportView(jTable1);

if (jTable1.getColumnModel().getColumnCount() > 0) {

jTable1.getColumnModel().getColumn(3).setResizable(false);

}

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 550, Short.MAX_VALUE)

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)

.addContainerGap())

);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Панель управления", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

Refresh.setText("Добавить");

Refresh.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

RefreshActionPerformed(evt);

}

});

SearchButtom.setText("Поиск по фамилиям");

SearchButtom.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

SearchButtomActionPerformed(evt);

}

});

SearchText.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

SearchTextInputMethodTextChanged(evt);

}

});

Delete.setText("Удалить");

Delete.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

DeleteActionPerformed(evt);

}

});

jButton1.setText("Показать");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(SearchText)

.addComponent(SearchButtom, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()

.addComponent(Refresh)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Delete))

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Refresh)

.addComponent(Delete))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchButtom)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE))

);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Дополнительная информация о ребенке", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

ProblemArea.setColumns(20);

ProblemArea.setRows(5);

jScrollPane2.setViewportView(ProblemArea);

jLabel1.setText("Проблема");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addGap(40, 40, 40)

.addComponent(jLabel1)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane2)

.addContainerGap())

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2)

.addContainerGap())

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

pack();

}//

private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {

int col = jTable1.getSelectedColumn();

String selectedRow = jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString();

if(jTable1.getSelectedColumn() != -1){

List l = new List();

l.deleteRow(col, selectedRow);

update();

}

}

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {

Kids kid = new Kids();

kid.setVisible(true);

kid.toFront();

}

private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {

try{

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String s = "SELECT ФАМИЛИЯ,ИМЯ,ОТЧЕСТВО,ТЕЛЕФОН,ПРОБЛЕМА FROM KID WHERE ФАМИЛИЯ ='" jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString() "'";

ResultSet rs = stmt.executeQuery(s);

while (rs.next()){

ProblemArea.setText(rs.getString(5));

}

}

catch(SQLException et){

JOptionPane.showConfirmDialog(null, et);

}

}

private void SearchButtomActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.findElement(dtm, col1, col2, col3, col4, what, from, SearchText.getText());

jTable1.setModel(dtm);

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

update();

}

private void SearchTextInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

// TODO add your handling code here:

}

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Viev().setVisible(true);

}

});

}

private void update(){

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.fillList(dtm, col1, col2, col3, col4, what, from);

jTable1.setModel(dtm);

}

Приложение D. Исходный код

Листинг файла Kids.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

/**

* Creates new form Kids

*/

public Kids() {

initComponents();

for (int i = 1900; i < 2016; i ){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel10.setText("Отчество:");

TelText1.setText(" ");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Телефон:");

jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel7.setText("Дата рождения:");

jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel8.setText("Номер школы:");

AddKid.setText("Добавить");

AddKid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

AddKidActionPerformed(evt);

}

});

jScrollPane1.setViewportView(ProblemsText1);

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel1.setText("Проблема:");

jButton1.setText("Показать ");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel10)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(jLabel4)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Year))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(AddKid)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(20, Short.MAX_VALUE))

);

jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {FirstNameText1, NameText1, SchoolText1, TelText1, ThirdNameText1, jScrollPane1});

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel9)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Year, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton1)

.addComponent(AddKid))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

getAccessibleContext().setAccessibleName("");

pack();

}//

private void AddKidActionPerformed(java.awt.event.ActionEvent evt) {

try {

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String firstName = FirstNameText1.getText();

String Name = NameText1.getText();

String thirdName = ThirdNameText1.getText();

String Tel = TelText1.getText();

String school = SchoolText1.getText();

String problem = ProblemsText1.getText();

firstName = firstName.replaceAll("\\s", "");

Name = Name.replaceAll("\\s", "");

thirdName = thirdName.replaceAll("\\s", "");

Tel = Tel.replaceAll("\\s", "");

school = school.replaceAll("\\s", "");

problem = problem.replaceAll("\\s", "");

String date = Day.getText() "." Mounth.getText() "." Year.getText();

Addition add = new Addition();

add.addChild(firstName, Name, thirdName, Tel, date, school, problem);

FirstNameText1.setText(null);

NameText1.setText(null);

ThirdNameText1.setText(null);

TelText1.setText(null);

Day.setText(null);

Mounth.setText(null);

Year.setText(null);

SchoolText1.setText(null);

ProblemsText1.setText(null);

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex.toString());

}

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

Viev v = new Viev();

v.setVisible(true);

v.toFront();

}

public static int getResultSetRowCount(ResultSet resultSet) {

int size = 0;

try {

resultSet.last();

size = resultSet.getRow();

resultSet.beforeFirst();

}

catch(SQLException ex) {

return 0;

}

return size;

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new Kids().setVisible(true);

});

}

Приложение Е. Исходный код

Листинг файла AdditionAgreement.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

/**

* Creates new form Kids

*/

public AdditionAgreement() {

initComponents();

for (int i = 1900; i < 2016; i ){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel10.setText("Отчество:");

TelText1.setText(" ");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Телефон:");

jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel7.setText("Дата рождения:");

jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel8.setText("Номер школы:");

AddKid.setText("Добавить");

AddKid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

AddKidActionPerformed(evt);

}

});

jScrollPane1.setViewportView(ProblemsText1);

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel1.setText("Проблема:");

jButton1.setText("Показать ");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel10)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(jLabel4)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Year))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(AddKid)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(20, Short.MAX_VALUE))

);

jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {FirstNameText1, NameText1, SchoolText1, TelText1, ThirdNameText1, jScrollPane1});

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel9)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Year, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton1)

.addComponent(AddKid))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

getAccessibleContext().setAccessibleName("");

pack();

}//

private void AddKidActionPerformed(java.awt.event.ActionEvent evt) {

try {

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String firstName = FirstNameText1.getText();

String Name = NameText1.getText();

String thirdName = ThirdNameText1.getText();

String Tel = TelText1.getText();

String school = SchoolText1.getText();

String problem = ProblemsText1.getText();

firstName = firstName.replaceAll("\\s", "");

Name = Name.replaceAll("\\s", "");

thirdName = thirdName.replaceAll("\\s", "");

Tel = Tel.replaceAll("\\s", "");

work = work.replaceAll("\\s", "");

task = task.replaceAll("\\s", "");

String date = Day.getText() "." Mounth.getText() "." Year.getText();

Addition add = new Addition();

add.addAgreement(firstName, Name, thirdName, Tel, date, work, task);

FirstNameText1.setText(null);

NameText1.setText(null);

ThirdNameText1.setText(null);

TelText1.setText(null);

Day.setText(null);

Mounth.setText(null);

Year.setText(null);

work.setText(null);

task.setText(null);

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex.toString());

}

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

Viev v = new Viev();

v.setVisible(true);

v.toFront();

}

public static int getResultSetRowCount(ResultSet resultSet) {

int size = 0;

try {

resultSet.last();

size = resultSet.getRow();

resultSet.beforeFirst();

}

catch(SQLException ex) {

return 0;

}

return size;

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new Kids().setVisible(true);

});

}

// Variables declaration - do not modify

private javax.swing.JButton AddKid;

private javax.swing.JTextField Day;

private javax.swing.JTextField FirstNameText1;

private javax.swing.JTextField Mounth;

private javax.swing.JTextField NameText1;

private javax.swing.JTextPane ProblemsText1;

private javax.swing.JTextField SchoolText1;

private javax.swing.JTextField TelText1;

private javax.swing.JTextField ThirdNameText1;

private javax.swing.JTextField Year;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

// End of variables declaration

}

Приложение F. Исходный код

Листинг файла VievAgreement.java

package kids;

import java.awt.ScrollPane;

import java.util.*;

import java.sql.*;

import javax.swing.JOptionPane;

import javax.swing.table.*;

public class Viev extends javax.swing.JFrame {

private String what = "ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ТЕЛЕФОН";

private String from = "AGREEMENT";

private String where = "ФАМИЛИЯ";

private String col1="Фамилия", col2="Имя", col3="Отчество", col4="Телефон";

public VievAgreement() {

initComponents();

update();

}

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jPanel2 = new javax.swing.JPanel();

Refresh = new javax.swing.JButton();

SearchButtom = new javax.swing.JButton();

SearchText = new javax.swing.JTextField();

Delete = new javax.swing.JButton();

jButton1 = new javax.swing.JButton();

jPanel3 = new javax.swing.JPanel();

jScrollPane2 = new javax.swing.JScrollPane();

ProblemArea = new javax.swing.JTextArea();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Просмотр таблицы");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Таблица из базы данных", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Фамилия", "Title 2", "Title 3", "Title 4"

}

));

jTable1.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {

jTable1FocusGained(evt);

}

});

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jTable1MouseClicked(evt);

}

public void mouseEntered(java.awt.event.MouseEvent evt) {

jTable1MouseEntered(evt);

}

});

jTable1.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

jTable1CaretPositionChanged(evt);

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

}

});

jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent evt) {

jTable1PropertyChange(evt);

}

});

jTable1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

jTable1KeyPressed(evt);

}

public void keyTyped(java.awt.event.KeyEvent evt) {

jTable1KeyTyped(evt);

}

});

jScrollPane1.setViewportView(jTable1);

if (jTable1.getColumnModel().getColumnCount() > 0) {

jTable1.getColumnModel().getColumn(3).setResizable(false);

}

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 550, Short.MAX_VALUE)

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)

.addContainerGap())

);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Панель управления", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

Refresh.setText("Добавить");

Refresh.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

RefreshActionPerformed(evt);

}

});

SearchButtom.setText("Поиск по фамилиям");

SearchButtom.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

SearchButtomActionPerformed(evt);

}

});

SearchText.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

SearchTextInputMethodTextChanged(evt);

}

});

Delete.setText("Удалить");

Delete.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

DeleteActionPerformed(evt);

}

});

jButton1.setText("Показать");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(SearchText)

.addComponent(SearchButtom, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()

.addComponent(Refresh)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Delete))

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Refresh)

.addComponent(Delete))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchButtom)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE))

);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Дополнительная информация о ребенке", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

ProblemArea.setColumns(20);

ProblemArea.setRows(5);

jScrollPane2.setViewportView(ProblemArea);

jLabel1.setText("Проблема");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addGap(40, 40, 40)

.addComponent(jLabel1)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane2)

.addContainerGap())

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2)

.addContainerGap())

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

pack();

}//

private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {

int col = jTable1.getSelectedColumn();

String selectedRow = jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString();

if(jTable1.getSelectedColumn() != -1){

List l = new List();

l.deleteRow(col, selectedRow);

update();

}

}

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {

Kids kid = new Kids();

kid.setVisible(true);

kid.toFront();

}

private void SearchButtomActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.findElement(dtm, col1, col2, col3, col4, what, from, SearchText.getText());

jTable1.setModel(dtm);

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

update();

}

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Viev().setVisible(true);

}

});

}

private void update(){

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.fillList(dtm, col1, col2, col3, col4, what, from);

jTable1.setModel(dtm);

}

// Variables declaration - do not modify

private javax.swing.JButton Delete;

private javax.swing.JTextArea ProblemArea;

private javax.swing.JButton Refresh;

private javax.swing.JButton SearchButtom;

private javax.swing.JTextField SearchText;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JTable jTable1;

// End of variables declaration

}

Приложение G. Исходный код

Листинг файла VievLesson.java

package kids;

import java.awt.ScrollPane;

import java.util.*;

import java.sql.*;

import javax.swing.JOptionPane;

import javax.swing.table.*;

public class Viev extends javax.swing.JFrame {

private String what = "ДАТА, ВРЕМЯ, ПРЕДМЕТ, ФИО_ПРЕПОДАВАТЕЛЯ";

private String from = "LESSON";

private String where = "ФАМИЛИЯ";

private String col1="Дата", col2="Время", col3="Предмет", col4="Фио_преподавателя";

public VievLesson() {

initComponents();

update();

}

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

jScrollPane1 = new javax.swing.JScrollPane();

jTable1 = new javax.swing.JTable();

jPanel2 = new javax.swing.JPanel();

Refresh = new javax.swing.JButton();

SearchButtom = new javax.swing.JButton();

SearchText = new javax.swing.JTextField();

Delete = new javax.swing.JButton();

jButton1 = new javax.swing.JButton();

jPanel3 = new javax.swing.JPanel();

jScrollPane2 = new javax.swing.JScrollPane();

ProblemArea = new javax.swing.JTextArea();

jLabel1 = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Просмотр таблицы");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Таблица из базы данных", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

jTable1.setModel(new javax.swing.table.DefaultTableModel(

new Object [][] {

{null, null, null, null},

{null, null, null, null},

{null, null, null, null}

},

new String [] {

"Фамилия", "Title 2", "Title 3", "Title 4"

}

));

jTable1.addFocusListener(new java.awt.event.FocusAdapter() {

public void focusGained(java.awt.event.FocusEvent evt) {

jTable1FocusGained(evt);

}

});

jTable1.addMouseListener(new java.awt.event.MouseAdapter() {

public void mouseClicked(java.awt.event.MouseEvent evt) {

jTable1MouseClicked(evt);

}

public void mouseEntered(java.awt.event.MouseEvent evt) {

jTable1MouseEntered(evt);

}

});

jTable1.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

jTable1CaretPositionChanged(evt);

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

}

});

jTable1.addPropertyChangeListener(new java.beans.PropertyChangeListener() {

public void propertyChange(java.beans.PropertyChangeEvent evt) {

jTable1PropertyChange(evt);

}

});

jTable1.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyPressed(java.awt.event.KeyEvent evt) {

jTable1KeyPressed(evt);

}

public void keyTyped(java.awt.event.KeyEvent evt) {

jTable1KeyTyped(evt);

}

});

jScrollPane1.setViewportView(jTable1);

if (jTable1.getColumnModel().getColumnCount() > 0) {

jTable1.getColumnModel().getColumn(3).setResizable(false);

}

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 550, Short.MAX_VALUE)

.addContainerGap())

);

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)

.addContainerGap())

);

jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Панель управления", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

Refresh.setText("Добавить");

Refresh.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

RefreshActionPerformed(evt);

}

});

SearchButtom.setText("Поиск по фамилиям");

SearchButtom.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

SearchButtomActionPerformed(evt);

}

});

SearchText.addInputMethodListener(new java.awt.event.InputMethodListener() {

public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {

}

public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {

SearchTextInputMethodTextChanged(evt);

}

});

Delete.setText("Удалить");

Delete.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

DeleteActionPerformed(evt);

}

});

jButton1.setText("Показать");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);

jPanel2.setLayout(jPanel2Layout);

jPanel2Layout.setHorizontalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)

.addComponent(SearchText)

.addComponent(SearchButtom, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()

.addComponent(Refresh)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Delete))

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

jPanel2Layout.setVerticalGroup(

jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel2Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(Refresh)

.addComponent(Delete))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchButtom)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(SearchText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, 41, Short.MAX_VALUE))

);

jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Дополнительная информация о ребенке", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Tahoma", 1, 12))); // NOI18N

ProblemArea.setColumns(20);

ProblemArea.setRows(5);

jScrollPane2.setViewportView(ProblemArea);

jLabel1.setText("Проблема");

javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);

jPanel3.setLayout(jPanel3Layout);

jPanel3Layout.setHorizontalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel3Layout.createSequentialGroup()

.addGap(40, 40, 40)

.addComponent(jLabel1)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addGroup(jPanel3Layout.createSequentialGroup()

.addContainerGap()

.addComponent(jScrollPane2)

.addContainerGap())

);

jPanel3Layout.setVerticalGroup(

jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()

.addComponent(jLabel1)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jScrollPane2)

.addContainerGap())

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addGroup(layout.createSequentialGroup()

.addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))

.addContainerGap())

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)

.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

.addContainerGap())

);

pack();

}//

private void DeleteActionPerformed(java.awt.event.ActionEvent evt) {

int col = jTable1.getSelectedColumn();

String selectedRow = jTable1.getModel().getValueAt(jTable1.getSelectedRow(),0).toString();

if(jTable1.getSelectedColumn() != -1){

List l = new List();

l.deleteRow(col, selectedRow);

update();

}

}

private void RefreshActionPerformed(java.awt.event.ActionEvent evt) {

Kids kid = new Kids();

kid.setVisible(true);

kid.toFront();

}

private void SearchButtomActionPerformed(java.awt.event.ActionEvent evt) {

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.findElement(dtm, col1, col2, col3, col4, what, from, SearchText.getText());

jTable1.setModel(dtm);

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// TODO add your handling code here:

update();

}

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Viev.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {

new Viev().setVisible(true);

}

});

}

private void update(){

DefaultTableModel dtm = new DefaultTableModel();

List list = new List();

dtm = list.fillList(dtm, col1, col2, col3, col4, what, from);

jTable1.setModel(dtm);

}

// Variables declaration - do not modify

private javax.swing.JButton Delete;

private javax.swing.JTextArea ProblemArea;

private javax.swing.JButton Refresh;

private javax.swing.JButton SearchButtom;

private javax.swing.JTextField SearchText;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JPanel jPanel1;

private javax.swing.JPanel jPanel2;

private javax.swing.JPanel jPanel3;

private javax.swing.JScrollPane jScrollPane1;

private javax.swing.JScrollPane jScrollPane2;

private javax.swing.JTable jTable1;

// End of variables declaration

}

Приложение O. Исходный код

Листинг файла AdditionLesson.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

/**

* Creates new form Kids

*/

public AdditionLesson() {

initComponents();

for (int i = 1900; i < 2016; i ){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel10.setText("Отчество:");

TelText1.setText(" ");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Телефон:");

jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel7.setText("Дата рождения:");

jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel8.setText("Номер школы:");

AddKid.setText("Добавить");

AddKid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

AddKidActionPerformed(evt);

}

});

jScrollPane1.setViewportView(ProblemsText1);

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel1.setText("Проблема:");

jButton1.setText("Показать ");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel10)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(jLabel4)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Year))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(AddKid)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(20, Short.MAX_VALUE))

);

jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {FirstNameText1, NameText1, SchoolText1, TelText1, ThirdNameText1, jScrollPane1});

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel9)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Year, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton1)

.addComponent(AddKid))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

getAccessibleContext().setAccessibleName("");

pack();

}//

private void AddKidActionPerformed(java.awt.event.ActionEvent evt) {

try {

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String subj = subj.getText();

String date = date .getText();

String time = time.getText();

String teacher = teacher.getText();

String student = student.getText();

String problem = ProblemsText1.getText();

subj = subj.replaceAll("\\s", "");

date = date.replaceAll("\\s", "");

time = time.replaceAll("\\s", "");

teacher = teacher.replaceAll("\\s", "");

student = problem.replaceAll("\\s", "");

String date = Day.getText() "." Mounth.getText() "." Year.getText();

String time = hour "." min;

Addition add = new Addition();

add.addLesson(subj, date, time, teacher, student);

subj.setText(null);

hours.setText(null);

min.setText(null);

teacher.setText(null);

student.setText(null);

Mounth.setText(null);

Year.setText(null);

day.setText(null);

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex.toString());

}

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

Viev v = new Viev();

v.setVisible(true);

v.toFront();

}

public static int getResultSetRowCount(ResultSet resultSet) {

int size = 0;

try {

resultSet.last();

size = resultSet.getRow();

resultSet.beforeFirst();

}

catch(SQLException ex) {

return 0;

}

return size;

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new Kids().setVisible(true);

});

}

Приложение P. Исходный код

Листинг файла VievTeacher.java

package kids;

import java.util.*;

import javax.swing.*;

import java.sql.*;

import javax.swing.JOptionPane;

public class Kids extends javax.swing.JFrame {

public VievTeacher() {

initComponents();

for (int i = 1900; i < 2016; i ){

}

}

/**

* This method is called from within the constructor to initialize the form.

* WARNING: Do NOT modify this code. The content of this method is always

* regenerated by the Form Editor.

*/

@SuppressWarnings("unchecked")

//

private void initComponents() {

jPanel1 = new javax.swing.JPanel();

FirstNameText1 = new javax.swing.JTextField();

NameText1 = new javax.swing.JTextField();

ThirdNameText1 = new javax.swing.JTextField();

jLabel4 = new javax.swing.JLabel();

jLabel9 = new javax.swing.JLabel();

jLabel10 = new javax.swing.JLabel();

TelText1 = new javax.swing.JTextField();

jLabel2 = new javax.swing.JLabel();

jLabel7 = new javax.swing.JLabel();

SchoolText1 = new javax.swing.JTextField();

jLabel8 = new javax.swing.JLabel();

AddKid = new javax.swing.JButton();

jScrollPane1 = new javax.swing.JScrollPane();

ProblemsText1 = new javax.swing.JTextPane();

jLabel1 = new javax.swing.JLabel();

jButton1 = new javax.swing.JButton();

Day = new javax.swing.JTextField();

Mounth = new javax.swing.JTextField();

Year = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

setTitle("Добавление ребенка");

jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Заполнение таблицы", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Times New Roman", 1, 16))); // NOI18N

jPanel1.setDoubleBuffered(false);

jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel4.setText("Фамилия:");

jLabel9.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel9.setText("Имя:");

jLabel10.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel10.setText("Отчество:");

TelText1.setText(" ");

jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel2.setText("Телефон:");

jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel7.setText("Дата рождения:");

jLabel8.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel8.setText("Номер школы:");

AddKid.setText("Добавить");

AddKid.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

AddKidActionPerformed(evt);

}

});

jScrollPane1.setViewportView(ProblemsText1);

jLabel1.setFont(new java.awt.Font("Times New Roman", 0, 14)); // NOI18N

jLabel1.setText("Проблема:");

jButton1.setText("Показать ");

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent evt) {

jButton1ActionPerformed(evt);

}

});

javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);

jPanel1.setLayout(jPanel1Layout);

jPanel1Layout.setHorizontalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addContainerGap()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addGroup(jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)

.addComponent(jLabel7)

.addComponent(jLabel8)

.addComponent(jLabel1)

.addComponent(jLabel2)

.addComponent(jLabel10)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jLabel9)

.addComponent(jLabel4)))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 146, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, 169, javax.swing.GroupLayout.PREFERRED_SIZE)

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(Year))))

.addGroup(jPanel1Layout.createSequentialGroup()

.addComponent(AddKid)

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addComponent(jButton1)))

.addContainerGap(20, Short.MAX_VALUE))

);

jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {FirstNameText1, NameText1, SchoolText1, TelText1, ThirdNameText1, jScrollPane1});

jPanel1Layout.setVerticalGroup(

jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel4)

.addComponent(FirstNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel9)

.addComponent(NameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel10)

.addComponent(ThirdNameText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(TelText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel2))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel7)

.addComponent(Day, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Mounth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(Year, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)

.addComponent(jLabel8)

.addComponent(SchoolText1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 49, javax.swing.GroupLayout.PREFERRED_SIZE)

.addComponent(jLabel1))

.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)

.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addComponent(jButton1)

.addComponent(AddKid))

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());

getContentPane().setLayout(layout);

layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()

.addContainerGap()

.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)

.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))

);

getAccessibleContext().setAccessibleName("");

pack();

}//

private void AddKidActionPerformed(java.awt.event.ActionEvent evt) {

try {

String url = "jdbc:derby://localhost:1527/admin";

String username = "Nikita";

String password = "909878";

Connection con = DriverManager.getConnection(url,username,password);

Statement stmt = con.createStatement();

String firstName = FirstNameText1.getText();

String Name = NameText1.getText();

String thirdName = ThirdNameText1.getText();

String Tel = TelText1.getText();

String Specialazation = SpecialazationText.getText();

firstName = firstName.replaceAll("\\s", "");

Name = Name.replaceAll("\\s", "");

thirdName = thirdName.replaceAll("\\s", "");

Tel = Tel.replaceAll("\\s", "");

Specialazation = Specialazation.replaceAll("\\s", "");

Addition add = new Addition();

add.addTeacher(firstName, Name, thirdName, Tel, Specialazation);

FirstNameText1.setText(null);

NameText1.setText(null);

ThirdNameText1.setText(null);

TelText1.setText(null);

Day.setText(null);

Mounth.setText(null);

Year.setText(null);

SchoolText1.setText(null);

Specialazation.setText(null);

}

catch(SQLException ex){

JOptionPane.showMessageDialog(null, ex.toString());

}

}

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

Viev v = new Viev();

v.setVisible(true);

v.toFront();

}

public static int getResultSetRowCount(ResultSet resultSet) {

int size = 0;

try {

resultSet.last();

size = resultSet.getRow();

resultSet.beforeFirst();

}

catch(SQLException ex) {

return 0;

}

return size;

}

/**

* @param args the command line arguments

*/

public static void main(String args[]) {

/* Set the Nimbus look and feel */

//

/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.

* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html

*/

try {

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {

if ("Nimbus".equals(info.getName())) {

javax.swing.UIManager.setLookAndFeel(info.getClassName());

break;

}

}

} catch (ClassNotFoundException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (InstantiationException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (IllegalAccessException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

} catch (javax.swing.UnsupportedLookAndFeelException ex) {

java.util.logging.Logger.getLogger(Kids.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);

}

//

/* Create and display the form */

java.awt.EventQueue.invokeLater(() -> {

new Kids().setVisible(true);

});

}

// Variables declaration - do not modify

private javax.swing.JButton AddKid;

private javax.swing.JTextField Day;

private javax.swing.JTextField FirstNameText1;

private javax.swing.JTextField Mounth;

private javax.swing.JTextField NameText1;

private javax.swing.JTextPane ProblemsText1;

private javax.swing.JTextField SchoolText1;

private javax.swing.JTextField TelText1;

private javax.swing.JTextField ThirdNameText1;

private javax.swing.JTextField Year;

private javax.swing.JButton jButton1;

private javax.swing.JLabel jLabel1;

private javax.swing.JLabel jLabel10;

private javax.swing.JLabel jLabel2;

private javax.swing.JLabel jLabel4;

private javax.swing.JLabel jLabel7;

private javax.swing.JLabel jLabel8;

private javax.swing.JLabel jLabel9;

private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1;

// End of variables declaration

}


  • Курсовая работа
  • Постановка задачи
  • Федеральное казенное учреждение
  • Информационные системы