[Вперед]

Виктор Кон,   vkBook, Java-Second

Введение

Данный цикл лекций является продолжением первого цикла Java-First. Для тех, кто не читал первый цикл, настоятельно рекомендую это сделать. Новичкам надо прочитать обязательно и с большим вниманием. Опытным программистам надо хотя бы просмотреть, так как сведения, которые там даны, здесь уже повторяться не будут. Более того, я буду считать, что вы их хорошо знаете. Для тех, к кому этот текст попал обходным путем, сообщаю, что родным сайтом проекта vkBook является vkacl.narod.ru. Там вы с гарантией найдете последнюю версию Java-First.

В этом цикле мы подробно рассмотрим Java код программы Second. Если программа First была только демонстрационной и по сути ничего полезного не делала, то программа Second является полноценной Java программой, которая как раз выполняет достаточно сложную и полезную работу, причем основная часть кода уже написана в виртуальной машине в виде готовых классов и здесь только показано как эти классы организовать в вашей собственной программе. К сожалению (а может быть и к счастью) возможности виртуальной машины столь велики, что охватить их все в одном цикле невозможно. Поэтому надо выбирать. Цикл Second ограничен следующими темами: (а) сборка всех файлов программы в один само-разворачивающийся архив, что позволяет запускать программу без установки, а установка происходит автоматически в процессе работы, (б) использование Менеджера файлов для навигации по файловой структуре компьютера, (в) редактор текстов в текстовых файлах, (г) показ картинок в режиме поиска по файловой структуре с предпросмотром и с указанием как размера картинки, так и координат положения курсора, (д) показ html-файлов во встроенном браузере, что позволяет эффективно создавать информационную помощь программ, а также программы-учебники.

Все указанные выше функции, как правило, являются обязательным атрибутом любой серьезной аналитической программы, как среды разработки. Естественно, это только вспомогательный сервис, в оригинальной программе должно быть нечто, что отличает ее от всех других. Но это не предмет для учебы, а творчество. Мы же как раз рассмотрим то, что должно быть во всех программах и что как раз в большой степени уже приготовлено в виртуальной машине Java в виде многочисленных классов. Эффективное использование этих классов позволяет резко сократить размер программы и уменьшить время на ее разработку. Малый размер программы не имеет значения на современных компьютерах, но играет важную роль при распространении программы по интернету, так как пока еще не все имеют высокую скорость передачи файлов по интернету. А такой способ распространения программ является наиболее удобным и современным. И как раз это является сильной стороной Java технологии, наряду с возможностью работать на разных платформах.

Данный цикл построен несколько иначе, чем первый. Во-первых, здесь исходный Java код всех файлов представлен в виде вэб-страниц для удобства чтения. При этом для получения файлов, пригодных для компиляции, читатель должен скопировать эти файлы с новым расширением "java" вместо "htm" и стереть весь лишний текст htm-форматирования, оставив только текст, который находится между тегами <pre>...</pre>, то есть все то, что стоит вместо многоточия. Читатели, которые знают язык HTML все хорошо понимают. А те, кто пока язык HTML не знают, я советую ознакомиться хотя бы с самыми основными его чертами, так как написание htm-файлов является составной частью Java программирования. Кроме того, htm-форматированный текст можно писать в именах кнопок, текстах комментариев и так далее. Во-вторых, комментирование кода будет осуществляться не в порядке от начала до конца, а по частям, выбор которых диктовался более лучшим пониманием материала. В третьих, к вэб-страницам прилагается готовая программа в виде одного jar-файла, которую можно сразу выполнить и которая содержит внутри себя большое количество вспомогательных файлов. Мы начнем с более продвинутой версии класса MyPro, который содержит библиотеку стандартных функций, полезных практически в каждой задаче. Затем рассмотрим главную программу, а после этого -- несколько классов, которые также являются шаблонами и в будущем могут только улучшаться. Однажды попробовав эти классы, вам уже не захочется от них отказываться. Это классы, реализующие независимые окна редактора текстов, браузера, слайд-проектора и окон ввода текста. Итак начнем.


[Вперед]
Hosted by uCoz