Язык Java -теория и практика



   огромное количество видео там            Бесплатное порно видео транссексуалов e-batsa | порно онлайн hd    OnePlus oman

Java -практические советы

Что такое Java ? Это остров Ява в Малайском архипелаге, территория Индонезии. Это сорт кофе, который любят пить создатели Java (произносится "Джава", с ударением на первом слоге). А если серьезно, то ответить на этот вопрос трудно, потому что границы Java, и без того размытые, все время расширяются. Сначала Java (официальный день рождения технологии Java — 23 мая 1995 г.) предназначалась для программирования бытовых электронных устройств, таких как телефоны. Потом Java стала применяться для программирования браузеров — появились апплеты. Затем оказалось, что на Java можно создавать полноценные приложения. Их графические элементы стали оформлять в виде компонентов — появились JavaBeans, с которыми Java вошла в мир распределенных систем и промежуточного программного обеспечения, тесно связавшись с технологией CORBA. Остался один шаг до программирования серверов — этот шаг был сделан — появились сервлеты и EJB (Enterprise JavaBeans). Серверы должны взаимодействовать с базами данных — появились драйверы JDBC (Java DataBase Connection). Взаимодействие оказалось удачным, и многие системы управления базами данных и даже операционные системы включили, Java в свое ядро, например Oracle, Linux, MacOS X, AIX. Что еще не охвачено? Назовите, и через полгода услышите, что Java уже вовсю применяется и там. Из-за этой размытости самого понятия его описывают таким же размытым словом — технология.
Такое быстрое и широкое распространение технологии Java не в последнюю очередь связано с тем, что она использует новый, специально созданный язык программирования, который так и называется — язык Java. Этот язык создан на базе языков Smalltalk, Pascal, C++ и др., вобрав их лучшие, по мнению создателей, черты и отбросив худшие. На этот счет есть разные мнения, но бесспорно, что язык получился удобным для изучения, написанные на нем программы легко читаются и отлаживаются: первую программу можно написать уже через час после начала изучения языка. Язык Java становится языком обучения объектно-ориентированному программированию, так же, как язык Pascal был языком обучения структурному программированию. Недаром на Java уже написано огромное количество программ, библиотек классов, а собственный апплет не написал только уж совсем ленивый.

Введение
Для полноты картины следует сказать, что создавать приложения для технологии Java можно не только на языке Java, уже появились и другие языки, есть даже компиляторы с языков Pascal и C++, но лучше все-таки использовать язык Java; на нем все аспекты технологии излагаются проще и удобнее.

Что такое Java
Выполнение Java-программы
Что такое JDK
Что такое JRE
Как установить JDK
Как использовать JDK
Интегрированные среды Java
Особая позиция Microsoft
Java в Internet
Литература no Java

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

Первая программа на Java
Комментарии
Константы
Целые
Действительные
Символы
Строки
Имена
Примитивные типы данных и операции
Логический тип

Объектно-ориентированное программирование в Java
Вся полувековая история программирования компьютеров, а может быть, и история всей науки — это попытка совладать со сложностью окружающего мира. Задачи, встающие перед программистами, становятся все более громоздкими, информация, которую надо обработать, растет как снежный ком. Еще недавно обычными единицами измерения информации были килобайты и мегабайты, а сейчас уже говорят только о гигабайтах и терабайтах. Как только программисты предлагают более-менее удовлетворительное решение предложенных задач, тут же возникают новые, еще более сложные задачи.

Парадигмы программирования
Принципы ООП
Абстракция
Иерархия
Ответственность
Модульность
Принцип KISS
Как описать класс и подкласс
Абстрактные методы и классы
Окончательные члены и классы

Пакеты и интерфейсы
В стандартную библиотеку Java API входят сотни классов. Каждый программист в ходе работы добавляет к ним десятки своих. Множество классов становится необозримым. Уже давно принять классы объединять в библиотеки. Но библиотеки классов, кроме стандартной, не являются частью языка.

Пакет и подпакет
Права доступа к членам класса
Размещение пакетов по файлам
Импорт классов и пакетов
Java-файлы
Интерфейсы
Design patterns
Заключение

Классы-оболочки
Java — полностью объектно-ориентированный язык. Это означает, что все, что только можно, в Java представлено объектами. Восемь примитивных типов нарушают это правило. Они оставлены в Java из-за многолетней привычки к числам и символам. Да и арифметические действия удобнее и быстрее производить с обычными числами, а не с объектами классов.

Числовые классы
Класс Boolean
Класс Character
Класс Biglnteger
Класс BigDecimal
Класс Class

Работа со строками
Зачем в язык введены два класса для хранения строк? В объектах класса string хранятся строки-константы неизменной длины и содержания, так сказать, отлитые в бронзе. Это значительно ускоряет обработку строк и позволяет экономить память, разделяя строку между объектами, использующими ее. Длину строк, хранящихся в объектах класса stringBuffer , можно менять, вставляя и добавляя строки и символы, удаляя подстроки или сцепляя несколько строк в одну строку.

Класс String
Как создать строку
Сцепление строк
Манипуляции строками
Как узнать длину строки
Как выбрать символы из строки
Как выбрать подстроку
Как сравнить строки
Как найти символ в строке
Как найти подстроку

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

Класс Vector
Как создать вектор
Как добавить элемент в вектор
Как заменить элемент
Как узнать размер вектора
Как обратиться к элементу вектора
Как узнать, есть ли элемент в векторе
Как узнать индекс элемента
Как удалить элементы
Класс Stack

Классы-утилиты
В классе Arrays из пакета java.utii собрано множество методов для работы с массивами. Их можно разделить на четыре группы. Восемнадцать статических методов сортируют массивы с разными типами числовых элементов в порядке возрастания чисел или просто объекты в их естественном порядке.

Работа с массивами
Локальные установки
Работа с Датами и временем
Часовой пояс и летнее время
Класс Сalendar
Подкласс GregorianCalendar
Представление даты и времени
Получение случайных чисел
Копирование массивов
Взаимодействие с системой

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

Компонент и контейнер
Иерархия классов AWT

Графические примитивы
При создании компонента, т. е. объекта класса Component, автоматически формируется его графический контекст (graphics context). В контексте размещается область рисования и вывода текста и изображений. Контекст содержит текущий и альтернативный цвет рисования и цвет фона — объекты класса color, текущий шрифт для вывода текста — объект класса Font.

Методы класса Graphics
Как задать цвет
Как нарисовать чертеж
Класс Polygon
Как вывести текст
Как установить шрифт
Как задать шрифт
Класс FontMetrics
Возможности Java 2D
Преобразование координат

Основные компоненты
Компонент всегда занимает прямоугольную область со сторонами, параллельными сторонам экрана и в каждый момент времени имеет определенные размеры, измеряемые в пикселах, которые можно узнать методом getsizeo, возвращающим объект класса Dimension, или целочисленными методами getHeighto и getwidtho, возвращающими высоту и ширину прямоугольника. Новый размер компонента можно установить из программы методами setSize(Dimension d) или setSize(int width, int height), если это допускает менеджер размещения контейнера, содержащего компонент.

Класс Component
Класс Cursor
Как создать свой курсор
События
Класс Container
События
Компонент Label
События
Компонент Button
События

Размещение компонентов
Наиболее просто поступает менеджер размещения FlowLayout. Он укладывает в контейнер один компонент за другим слева направо как кирпичи, переходя от верхних рядов к нижним. При изменении размера контейнера "кирпичи" перестраиваются, как показано на рис. 11.1. Компоненты поступают в том порядке, в каком они заданы в методах add ().

Менеджер FlowLayout
Менеджер BorderLayout
Менеджер GridLayout
Менеджер CardLayout
Менеджер GridBagLayout
Заключение

Обработка событий
Событие (event) в библиотеке AWT возникает при воздействии на компонент какими-нибудь манипуляциями мышью, при вводе с клавиатуры, при перемещении окна, изменении его размеров. Объект, в котором произошло событие, называется источником (source) события. Все события в AWT классифицированы. При возникновении события исполняющая система Java автоматически создает объект соответствующего событию класса. Этот объект не производит никаких действий, он только хранит все сведения о событии.

Событие ActionEvent
Обработка действий мыши
Классы-адаптеры
Обработка действий клавиатуры
Событие TextEvent
Обработка действий с окном
Событие ComponentEvent
Событие ContainerEvent
Событие FocusEvent
Событие ItemEvent

Создание меню
Всплывающее меню (popup menu) появляется обычно при нажатии или отпускании правой или средней кнопки мыши и является контекстным (context) меню. Его команды зависят от компонента, на котором была нажата кнопка мыши. В языке Java всплывающее меню — объект класса Рорирмепи. Этот класс расширяет класс Menu, следовательно, наследует все свойства меню и пункта меню Menultem. Всплывающее меню присоединяется не к строке меню типа MenuBar или к меню типа Menu в качестве подменю, а к определенному компоненту. Для этого в классе component есть метод add(PopupMenu menu).

Апплеты
Кроме приложений, язык Java позволяет создавать апплеты (applets). Это программы, работающие в среде другой программы — браузера. Апплеты не нуждаются в окне верхнего уровня — им служит окно браузера. Они не запускаются JVM — их загружает браузер, который сам запускает JVM для выполнения апплета. Эти особенности отражаются на написании программы апплета.

Передача параметров
Параметры тега <applet>
Сведения об окружении апплета
Изображение и звук
Слежение за процессом загрузки
Класс MediaTracker
Защита от апплета
Заключение

Изображения и звук
В библиотеке AWT применяются две модели обработки изображения. Одна модель реализует давно известную в программировании общую модель "поставщик-потребитель" (Producer-Consumer). Согласно этой модели один объект, "поставщик", генерирует сам или преобразует полученную из другого места продукцию, в данном случае, набор пикселов, и передает другим объектам. Эти объекты, "потребители", принимают продукцию и тоже преобразуют ее при необходимости. Только после этого создается объект класса image и изображение выводится на экран.

Модель обработки "поставщик-потребитель"
Классы-фильтры
Как выделить фрагмент изображения
Как изменить цвет изображения
Как переставить пикселы изображения
Модель обработки прямым доступом
Преобразование изображения в Java 2D
Аффинное преобразование изображения
Изменение интенсивности изображения
Изменение составляющих цвета

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

Блоки перехвата исключения
Часть заголовка метода throws
Оператор throw
Иерархия классов-исключений
Порядок обработки исключений
Создание собственных исключений

Подпроцессы
Основное понятие современных операционных систем — процесс (process). Как и все общие понятия, процесс трудно определить, да это и не входит в задачу книги. Можно понимать под процессом выполняющуюся (runnable) программу, но надо помнить о том, что у процесса есть несколько состояний. Процесс может в любой момент перейти к выполнению машинного кода другой программы, а также "заснуть" (sleep) на некоторое время, приостановив выполнение программы.

Класс Thread
Синхронизация подпроцессов
Согласование работы нескольких подпроцессов
Приоритеты подпроцессов
Подпроцессы-демоны
Группы подпроцессов

Потоки ввода/вывода
Для того чтобы отвлечься от особенностей конкретных устройств ввода/вывода, в Java употребляется понятие потока (stream). Считается, что в программу идет входной поток (input stream) символов Unicode или просто байтов, воспринимаемый в программе методами read(). Из программы методами write о или print (), println() выводится выходной поток (output stream) символов или байтов. При этом неважно, куда направлен поток: на консоль, на принтер, в файл или в сеть, методы write () и print () ничего об этом не знают.

Консольный ввод/вывод
Файловый ввод/вывод
Получение свойств файла
Буферизованный ввод/вывод
Поток простых типов Java
Кодировка UTF-8
Прямой доступ к файлу
Каналы обмена информацией
Сериализация объектов
Печать в Java

Сетевые средства Java
Когда число компьютеров в учреждении переваливает за десяток и сотрудникам надоедает бегать с дискетами друг к другу для обмена файлами, тогда в компьютеры вставляются сетевые карты, протягиваются кабели и компьютеры объединяются в сеть. Сначала все компьютеры в сети равноправны, они делают одно и то же — это одноранговая (peer-to-peer) сеть. Потом покупается компьютер с большими и быстрыми жесткими дисками, и все файлы учреждения начинают храниться на данных дисках — этот компьютер становится файл-сервером, предоставляющим услуги хранения, поиска, архивирования файлов. Затем покупается дорогой и быстрый принтер.

Работа в WWW
Работа по протоколу TCP

Развитие Java
В части 3 мы подробно рассмотрели возможности графической библиотеки AWT. Там же мы заметили, что в состав Java 2 SDK входит еще одна графическая библиотека, Swing, с более широкими возможностями, чем AWT. Фирма SUN настоятельно рекомендует использовать Swing, а не AWT, но, во-первых, Swing требует больше ресурсов, что существенно для российского разработчика, во-вторых, большинство браузеров не имеет в своем составе Swing. В-третьих, удобнее сначала познакомиться с библиотекой AWT, а уже потом изучать Swing.

Переход к Swing
Архиватор jar
Создание архива
Файл описания MAN1FEST.MF
Файл 1NDEX.LIST
Компоненты JavaBeans
Связь с базами данных через JDBC
Сервлеты
Java на сервере
Заключение

Cамоучитель по Java

Как вы знаете, программа, написанная на одном из языков высокого уровня, к которым относится и язык Java, так называемый исходный модуль ("исходник" или "сырец" на жаргоне, от английского "source"), не может быть сразу же выполнена. Ее сначала надо откомпилировать, т. е. перевести в последовательность машинных команд — объектный модуль.
Но и он, как правило, не может быть сразу же выполнен: объектный модуль надо еще скомпоновать с библиотеками использованных в модуле функций и разрешить перекрестные ссылки между секциями объектного модуля, получив в результате загрузочный модуль — полностью готовую к выполнению программу.
Исходный модуль, написанный на Java, не может избежать этих процедур, но здесь проявляется главная особенность технологии Java — программа компилируется сразу в машинные команды, но не команды какого-то конкретного процессора, а в команды так называемой виртуальной машины Java (JVM, Java Virtual Machine).

Java в Internet
Оказалось, что на Java можно создавать полноценные приложения. Их графические элементы стали оформлять в виде компонентов — появились JavaBeans, с которыми Java вошла в мир распределенных систем и промежуточного программного обеспечения, тесно связавшись с технологией CORBA.

Выполнение Java-программы
Выполнение Java-программы - 2
Выполнение Java-программы - 3
Что такое JDK
Что такое JDK - 2
Что такое JRE
Как установить JDK
Как использовать JDK
Интегрированные среды Java
Особая позиция Microsoft

Логический тип
Значения логического типа boolean возникают в результате различных сравнений, вроде 2 з, и используются, главным образом, в условных операторах и операторах циклов. Логических значении всего два: true (истина) и false (ложь). Это служебные слова Java.

Логические операции
Целые типы
Операции над целыми типами
Арифметические операции
Приведение типов
Операции сравнения
Побитовые операции
Сдвиги
Вещественные типы
Комментарии

Принципы объектно-ориентированного программирования
Первые, даже самые простые программы, написанные в машинных кодах, составляли сотни строк совершенно непонятного текста. Для упрощения и ускорения программирования придумали языки высокого уровня: FORTRAN, Algol и сотни других, возложив рутинные операции по созданию машинного кода на компилятор. Те же программы, переписанные на языках высокого уровня, стали гораздо понятнее и короче. Но жизнь потребовала решения более сложных задач, и программы снова увеличились в размерах, стали необозримыми.

Абстракция
Абстракция - 2
Абстракция - 3
Иерархия
Иерархия - 2
Ответственность
Модульность
Модульность - 2
Модульность - 3
Принцип KISS

Права доступа к членам класса
Чтобы создать пакет надо просто в первой строке Java-файла с исходным кодом записать строку package имя; , например: package mypack; Тем самым создается пакет с указанным именем mypack и все классы, записанные в этом файле, попадут в пакет mypack

Пакет и подпакет
Права доступа к членам класса
Права доступа к членам класса - 2
Права доступа к членам класса - 3
Размещение пакетов по файлам
Размещение пакетов по файлам - 2
Импорт классов и пакетов
Java-файлы
Интерфейсы
Интерфейсы - 2

Числовые классы
В каждом из шести числовых классов-оболочек есть статические методы преобразования строки символов типа string лредставляющей число, в соответствующий примитивный тип: Byte.parseByte(), Double.parseDouble(), Float.parseFloat(), Integer.parselnt(), Long.parseLong(), Short.parseShort()

Числовые классы
Числовые классы - 2
Класс Boolean
Класс Character
Класс Character - 2
Класс Character - 3
Класс Biglnteger
Класс Biglnteger - 2
Класс Biglnteger - 3
Класс Big Decimal

Как найти подстроку
Поиск всегда ведется с учетом регистра букв.Первое вхождение подстроки sub в данную строку this отыскивает метод indexof (String sub). Он возвращает индекс первого символа первого вхождения подстроки sub в строку или -1, если подстрока sub не входит в строку this

Как изменить регистр букв
Как заменить отдельный символ
Как убрать пробелы в начале и конце строки
Как преобразовать данные другого типа в строку
Класс StringBuffer
Конструкторы
Как добавить подстроку
Как вставить подстроку
Как удалить подстроку
Как создать строку

Класс Vector
В классе vector из пакета java.uti i хранятся элементы типа object , а значит, любого типа. Количество элементов может быть любым и наперед не определяться. Элементы получают индексы 0, 1, 2, .... К каждому элементу вектора можно обратиться по индексу, как и к элементу массива.

Класс Stack
Класс Hashtable
Как создать таблицу
Как заполнить таблицу
Как получить значение по ключу
Как узнать наличие ключа или значения
Как получить все элементы таблицы
Как удалить элементы
Класс
Интерфейс Collection

Взаимодействие с системой
Восемнадцать статических методов сортируют массивы с разными типами числовых элементов в порядке возрастания чисел или просто объекты в их естественном порядке.

Абота с массивами
Абота с массивами - 2
Взаимодействие с системой
Локальные установки
Локальные установки - 2
Работа с датами и времене
Часовой пояс и летнее время
Класс Calendar
Подкласс GregorianCalendar
Представление даты и времени

Иерархия классов AWT
Как видите, библиотека графических классов AWT очень велика и детально проработана. Это многообразие классов только отражает многообразие задач построения графического интерфейса. Стремление улучшить интерфейс безгранично. Оно приводит к созданию все новых библиотек классов и расширению существующих. Независимыми производителями создано уже много графических библиотек Java: KL Group, JBCL, и появляются все новые и новые библиотеки.

Компонент и контейнер
Компонент и контейнер - 2
Компонент и контейнер - 3
Компонент и контейнер - 4
Иерархия классов AWT
Заключение

Преобразование координат
При создании контекста в нем задается текущий цвет для рисования, обычно черный, и цвет фона области рисования — белый или серый. Изменить текущий цвет можно методом setcoior (Color newCoior), аргумент newcoior которого — объект класса Color. Узнать текущий цвет можно методом getcolor (), возвращающим объект класса color.

Преобразование координат
Класс AffineTransform
Класс AffineTransform - 2
Класс AffineTransform - 3
Рисование фигур средствами Java2D
Класс BasicStroke
Класс BasicStroke - 2
Класс BasicStroke - 3
Класс GeneralPath
Классы GradientPaint и TexturePaint

Класс Cursor
Класс component — центр библиотеки AWT — очень велик и обладает большими возможностями. В нем пять статических констант, определяющих размещение компонента внутри пространства, выделенного для компонента в содержащем его контейнере: BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT, И ОКОЛО СОТНИ МеТОДОВ

Класс Cursor
Как создать свой курсор
Как создать свой курсор - 2
События
Класс Container
События
Компонент Label
События
Компонент Button
События

Менеджер BorderLayout
Все менеджеры размещения написаны полностью на языке Java, в состав SUN J2SDK входят их исходные тексты. Если вы решили написать свой менеджер размещения, реализовав интерфейс LayoutManager или LayoutManager2, то посмотрите эти исходные тексты.

Менеджер FlowLayout
Менеджер BorderLayout
Менеджер BorderLayout - 2
Менеджер GridLayout
Менеджер Card Lay out
Менеджер Card Lay out - 2
Менеджер GridBagLayout
Менеджер GridBagLayout - 2
Менеджер GridBagLayout - 3
Заключение

Событие ItemEvent
Это простое событие означает, что надо выполнить какое-то действие. При этом неважно, что вызвало событие: щелчок мыши, нажатие клавиши или что-то другое.

Событие ItemEvent
Событие AdjustmentEvent
Событие AdjustmentEvent - 2
Несколько слушателей одного источника
Диспетчеризация событий
Диспетчеризация событий - 2
Создание собственного события
Обработка действий мыши
Обработка действий мыши - 2
Обработка действий мыши - 3

Всплывающее меню
Его команды зависят от компонента, на котором была нажата кнопка мыши. В языке Java всплывающее меню — объект класса Рорирмепи. Этот класс расширяет класс Menu, следовательно, наследует все свойства меню и пункта меню Menultem. Всплывающее меню присоединяется не к строке меню типа MenuBar или к меню типа Menu в качестве подменю, а к определенному компоненту. Для этого в классе component есть метод add(PopupMenu menu).

Всплывающее меню
Всплывающее меню - 2

Параметры тега applet
С увеличением скорости и улучшением качества компьютерных сетей значение апплетов сильно упало. Теперь вся обработка данных, прежде выполняемая апплетами, переносится на сервер, браузер только загружает и показывает результаты этой обработки, становится "тонким клиентом".

Передача параметров
Передача параметров - 2
Параметры тега applet
Параметры тега applet - 2
Сведения об окружении апплета
Изображение и звук
Слежение за процессом загрузки
Класс MediaTracker
Класс MediaTracker - 2
Защита от апплета

Изменение составляющих цвета
В библиотеке AWT применяются две модели обработки изображения. Одна модель реализует давно известную в программировании общую модель "поставщик-потребитель" (Producer-Consumer). Согласно этой модели один объект, "поставщик", генерирует сам или преобразует полученную из другого места продукцию, в данном случае, набор пикселов, и передает другим объектам. Эти объекты, "потребители", принимают продукцию и тоже преобразуют ее при необходимости. Только после этого создается объект класса image и изображение выводится на экран.

Модель обработки "поставщик-потребитель"
Модель обработки "поставщик-потребитель" - 2
Модель обработки "поставщик-потребитель" - 3
Изменение составляющих цвета
Создание различных эффектов
Анимация
Анимация - 2
Улучшение изображения 2-ой буферизацией
Улучшение изображения 2-ой буферизацией - 2
Улучшение изображения 2-ой буферизацией - 3

Часть заголовка метода throws
Обработка исключительных ситуаций стала сейчас обязательной частью объектно-ориентированных программ. Применяя методы классов J2SDK и других пакетов, обращайте внимание на то, какие исключения они выбрасывают, и обрабатывайте их. Исключения резко меняют ход выполнения программы, делают его запутанным. Не увлекайтесь сложной обработкой, помните о принципе KISS.

Блоки перехвата исключения
Блоки перехвата исключения - 2
Блоки перехвата исключения - 3
Часть заголовка метода throws
Часть заголовка метода throws - 2
Оператор throw
Иерархия классов-исключений
Порядок обработки исключений
Создание собственных исключений
Заключение

Синхронизация подпроцессов
Технология Java по своей сути — многозадачная технология, основанная на threads. Это одна из причин, по которым технология Java так и не может разумным образом реализоваться в MS-DOS и Windows 3.1, несмотря на многие попытки.

Класс Thread
Класс Thread - 2
Класс Thread - 3
Класс Thread - 4
Синхронизация подпроцессов
Синхронизация подпроцессов - 2
Синхронизация подпроцессов - 3
Согласование работы подпроцессов
Согласование работы подпроцессов - 2
Согласование работы подпроцессов - 3

Печать в Java
Для вывода на консоль мы всегда использовали метод printino класса Pnntstream, никогда не определяя экземпляры этого класса. Мы просто использовали статическое поле out класса system, которое является объектом класса PrintStream. Исполняющая система Java связывает это поле с консолью.

Консольный ввод/вывод
Консольный ввод/вывод - 2
Консольный ввод/вывод - 3
Печать в Java
Печать в Java - 2
Печать средствами Java 2D
Печать средствами Java 2D - 2
Печать средствами Java 2D - 3
Печать средствами Java 2D - 4
Печать средствами Java 2D - 5

Работа по протоколу TCP
Среди программного обеспечения Internet большое распространение получила информационная система WWW (World Wide Web), основанная на прикладном протоколе HTTP (Hypertext Transfer Protocol). В ней используется расширенная адресация, называемая URL (Uniform Resource Locator).

Работа в WWW
Работа в WWW - 2
Работа в WWW - 3
Работа в WWW - 4
Работа по протоколу TCP
Работа по протоколу TCP - 2
Работа по протоколу TCP - 3
Работа по протоколу TCP - 4
Работа по протоколу UDP
Работа по протоколу UDP - 2

Архиватор jar
Для упаковки нескольких файлов в один архивный файл, со сжатием или без сжатия., в технологии Java разработан формат JAR. Имя архивного jar-файла может быть любым, но обычно оно получает расширение jar. Способ упаковки и сжатия основан на методе ZIP. Название JAR (Java ARchive) перекликается с названием известной утилиты TAR (Tape ARchive), разработанной в UNIX.

Создание архива
Создание архива - 2
Файл описания MANIFEST.MF
Файл INDEX.LIST
Компоненты JavaBeans
Компоненты JavaBeans - 2
Связь с базами данных через JDBC
Связь с базами данных через JDBC - 2
Связь с базами данных через JDBC - 3
Связь с базами данных через JDBC - 4

Программирование на Java.Подробное руководство

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

Введение в Java
Казалось бы, на сегодняшний день изобретены уже все языки программирования, какие только можно придумать. Но нет - появился еще один, с названием Java. Этот язык сумел получить весьма заметную известность за последние несколько лет, так как он ориентирован на самую популярную компьютерную среду - сеть Internet и серверы Web.

Инструментарий разработчика
Пакетные средства
Интегрированные средства разработки
Браузеры
Подключение к Internet
Документация и литература
Мобильность Java
Мобильность Java - 2
Мобильность Java - 3
Базовые типы данных

Первое приложение Java
Как мы уже говорили, приложение Java может выполняться под управлением специального интерпретатора, работающего в рамках отдельного процесса, либо под управлением браузера. В первом случае мы имеем дело с автономным приложением Java, в втором - с аплетом.

Первое приложение Java
Установка Java WorkShop
Запуск Java WorkShop
Создание нового проекта
Создание нового проекта - 2
Исходный текст приложения HelloJava
Hpic01
Hpic06

Первый аплет Java
В предыдущем разделе мы создавали автономное приложение Java, работающее под управлением виртуальной машины Java. Теперь мы создадим приложение другого типа - аплет. Аплет Java тоже выполняется под управлением виртуальной машины Java, но встроенной в браузер. Когда браузер загружает в свое окно документ HTML с аплетом, байт-код аплета начинает свою работу.

Создание проекта аплета
Исходный текст аплета
Методы в классе HelloApplet
Метод init
Метод destroy
Метод start
Метод stop
Исходный текст документа HTML
Изменяем исходный текст аплета
Метод paint

Рисование в окне аплета
Способ, которым аплет выполняет рисование в своем окне, полностью отличается от того, которым пользуются программы MS-DOS. Вместо того чтобы обращаться напрямую или через драйвер к регистрам видеоконтроллера, аплет пользуется методами из класса Graphics. Эти методы инкапсулируют все особенности аппаратуры, предоставляя в распоряжение программиста средство рисования, которое пригодно для любой компьютерной платформы.

Контекст отображения
Методы класса Graphics
Методы
Методы - 2
Методы - 3
Установка атрибутов контекста отображения
Выбор цвета
Выбор цвета - 2
Выбор шрифта
Класс Font

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

Как обрабатываются события
Как обрабатываются события - 2
События от мыши
Нажатие клавиши мыши
Отпускание клавиши мыши
Перемещение курсора мыши
Выполнение операции Drag and Drop
Вход курсора мыши в область окна аплета
Выход курсора мыши из области окна аплета
Аплет LineDraw

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

Кнопки
Конструкторы
Методы
Обработка событий от кнопки
Переключатели
Класс Checkbox
Конструкторы
Методы
Переключатели с независимой фиксацией
Переключатели с зависимой фиксацией

Работа с системой Layout Manager
К счастью, имеются способы, позволяющие контролировать размещение отдельных компонент в окне контейнера. И хотя эти способы не позволяют задавать конкретные координаты и размеры органов управления, использовнные схемы размещения компонент будут правильно работать на любой аппаратной платформе (не забывайте, что Java создавалась как средство разработки приложений, способных выполняться на любой платформе).

Режимы системы Layout Manager
Режим FlowLayout
Класс FlowLayout
Поля
Конструкторы
Методы
Режим GridLayout
Конструкторы
Методы
Режим BorderLayout

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

Создание панелей
Добавление панелей
Добавление компонент в панели
Рисование в окне панели
Создание нового класса на базе класса Panel
Аплет Options
Исходный текст аплета Options
Исходный текст аплета Options - 2
Описание исходного текста аплета Options
Главный класс аплета Options

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

Окна класса Frame
Поля
Конструкторы
Методы
Применение класса Frame
Меню в окне класса Frame
Методы
Работа с классом MenuBar
Класс Menu
Конструкторы

Многопоточность
Наверное, сегодня уже нет необходимости объяснять, что такое многопоточность. Все современные операционные системы, такие как Windows 95, Windows NT, OS/2 или UNIX способны работать в многопоточном режиме, повышая общую производительность системы за счет эффективного распараллеливания выполняемых потоков. Пока один поток находится в состоянии ожидания, например, завершения операции обмена данными с медленным периферийным устройством, другой может продолжать выполнять свою работу.

Процессы, потоки и приоритеты
Процесс
Поток
Приоритеты потоков в приложениях Java
Реализация многопоточности в Java
Методы класса Thread
Поля
Конструкторы
Методы
Методы - 2

Работа с файлами
Библиотека классов языка программирования Java содержит многочисленные средства, предназначенные для работы с файлами. И хотя аплеты не имеют доступа к локальным файлам, расположенным на компьютере пользователя, они могут обращаться к файлам, которые находятся в каталоге сервера Web. Автономные приложения Java могут работать как с локальными, так и с удаленными файлами (через сеть Internet или Intranet).

Класс StringTokenizer
Работа с файлами и каталогами - File
Создание объекта класса File
Определение атрибутов файлов и каталогов
Проверка существования файла или каталога
Проверка возможности чтения и записи
Определение типа объекта - файл или каталог
Получение имени файла или каталога
Получение абсолютного пути к каталогу
Определение типа указанного пути

Создание сетевых приложений
Когда мы начинали разговор про язык программирования Java, то отмечали, что он специально ориентирован на глобальные сети, такие как Internet. В этой главе мы начнем знакомство с конкретными классами Java, разработанными для сетевого программирования. На примере наших приложений вы сможете убедиться, что классы Java действительно очень удобны для создания сетевых приложений.

Аплет ShowChart
Исходные тексты аплета ShowChart
Описание исходного текста аплета ShowChart
Поля класса ShowChart
Метод init
Метод paint
Приложения SocketServ и SocketClient
Исходный текст приложения SocketServ
Описание исходного текста - SocketServ
Описание исходного текста - SocketServ - 2

Растровые изображения и анимация
Одно из наиболее распространенный применений аплетов связано с рисованием простых или анимированных растровых изображений. На серверах Web изображения обычно хранятся в форматах GIF или JPEG. Оба эти формата обеспечивают сжатие изображения, что весьма актуально из-за невысокой скорости передачи данных в сети Internet.

Загрузка и рисование растрового изображения
Загрузка и рисование растрового изображения - 2
Класс Image
Ожидание загрузки изображений
Применение класса MediaTracker
Создание объекта класса MediaTracker
Добавление изображений в объект - MediaTracker
Ожидание загрузки добавленных изображений
Другие методы класса MediaTracker
Применение интерфейса ImageObserver

Звук в аплетах Java
Нельзя сказать, что звуковые возможности аплетов Java чрезмерно велики. Скорее наоборот, они минимальны. Тем не менее, аплеты могут проигрывать звуковые клипы, записанные в файлах формата AU, который пришел из мира компьютеров фирмы Sun.

Загрузка и проигрывание звуковых файлов
Аплет PlayClip
Исходные тексты приложения
Описание исходного текста
Поля классаPlayClip
Метод getParameterInfo
Метод init
Метод action
Метод start
Метод stop

Подробное руководство по программированию на Java

Почему вам нужно изучать новый язык программирования Java?
Если ответить на этот вопрос кратко, то потому, что он специально ориентирован на самые передовые технологии, связанные с сетью Internet. Растущая популярность Internet и, в особенности, серверов Web, создает для программистов новые возможности для реализации своих способностей.
Огромное преимущество Java заключается в том, что на этом языке можно создавать приложения, способные работать на различных платформах. К сети Internet подключены компьютеры самых разных типов - Pentium PC, Macintosh, рабочие станции Sun и так далее. Даже в рамках компьютеров, созданных на базе процессоров Intel, существует несколько платформ, например, Microsoft Windows версии 3.1, Windows 95, Windows NT, OS/2, Solaris, различные разновидности операционной системы UNIX с графической оболочкой X­Windows. Между тем, создавая сервер Web в сети Internet, вы бы наверняка хотели, чтобы им могло пользоваться как можно большее число людей. В этом случае вас выручат приложения Java, предназначенные для работы на различных платформах и не зависящие от конкретного типа процессора и операционной системы.
Программы, составленные на языке программирования Java, можно разделить по своему назначению на две большие группы.
К первой группе относятся приложения Java, предназначенные для автономной работы под управлением специальной интерпретирующей машины Java. Реализации этой машины созданы для всех основных компьютерных платформ.
Вторая группа - это так называемые аплеты (applets). Аплеты представляют собой разновидность приложений Java, которые интерпретируются виртуальной машиной Java, встроенной практически во все современные браузеры.
Приложения, относящиеся к первой группе (мы будем называть их просто приложениями Java), - это обычные автономные программы. Так как они не содержат машинного кода и работают под управлением специального интерпретатора, их производительность заметно ниже, чем у обычных программ, составленных, например, на языке программирования C++. Однако не следует забывать, что программы Java без перетрансляции способны работать на любой платформе, что само по себе имеет большое значение в плане разработок для Internet.
Аплеты Java встраиваются в документы HTML, хранящиеся на сервере Web. С помощью аплетов вы можете сделать страницы сервера Web динамичными и интерактивными. Аплеты позволяют выполнять сложную локальную обработку данных, полученных от сервера Web или введенных пользователем с клавиатуры. Из соображений безопасности аплеты (в отличие от обычных приложений Java) не имеют никакого доступа к файловой системе локального компьютера. Все данные для обработки они могут получить только от сервера Web. Более сложную обработку данных можно выполнять, организовав взаимодействие между аплетами и расширениями сервера Web - приложениями CGI и ISAPI.
Для повышения производительности приложений Java в современных браузерах используется компиляция "на лету"- Just-In-Time compilation (JIT). При первой загрузке аплета его код транслируется в обычную исполнимую программу, которая сохраняется на диске и запускается. В результате общая скорость выполнения аплета Java увеличивается в несколько раз.

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

Проектирование логики
Визуальное проектирование
Браузеры
Подключение к Internet
Документация и литература
Мобильность
Мобильность Java
Перенос приложения с
Подготовка приложения
Типы данных

Первое приложение
В качестве инструментального средства для разработки автономных приложений и аплетов Java мы будем использовать интегрированную систему разработки Java WorkShop. Она доступна для операционных систем Windows 95, Windows NT, Solaris (платформы SPARC и Intel).

Первая диалоговая панель
Диалоговая панель Create
Основной файл созданного
Файлы проекта HelloJava
Измененный исходный
Работа приложения Hello Java!
Текст HelloJava
Исходный текст приложения HelloJava
Главное окно интегрированной
Окно Java WorkShop Startup

Первый аплет
Внешне аплет выглядит как окно заданного размера. Он может рисовать внутри этого окна (и только в нем) произвольные изображения и текст. Двоичный файл с интерпретируемым байт-кодом Java располагается на сервере Web. В документе HTML с помощью оператора APPLET организуется ссылка на этот двоичный файл.

Исходный текст документа HTML
Исходный текст документа HTML
Листинг 2
Новый текст
Изменяем исходный текст аплета
Измененный исходный
Листинг 3
Измененный исходный
Теперь наш аплет "умеет"
Метод paint

Рисование в окне аплета
Для окна аплета создается объект класса Graphics, ссылка на который передается методу paint. Раньше мы уже пользовались этим объектом, вызывая для него метод drawString, рисующий в окне текстовую строку. Объект, ссылка на который передается методу paint, и есть контекст отображения. Сейчас мы займемся контекстом отображения вплотную.

Битовые маски стиля шрифта
Конструкторы
Методы
Определение атрибутов
Определение атрибутов контекста отображения
Определение границ области ограничения вывода
Определение цвета выбранного в отображения
Определение шрифта выбранного в отображения
Определение метрик текущего шрифта
Определение метрик заданного шрифта

События
Если вы создавали приложения для операционной системы Microsoft Windows, здесь для вас нет ничего нового - вспомните, как вы обрабатывали сообщение WM_LBUTTONDOWN или WM_CHAR. Когда пользователь выполнял действие с мышью или клавиатурой в окне приложения, функция этого окна получала соответствующее сообщение. Методы класса Applet, обрабатывающие события от мыши и клавиатуры, являются аналогами обработчиков указанных сообщений.

Аплет LineDraw
Аплет LineDraw
Окно аплета LineDraw с нарисованными линиями
Исходный текст
Исходный текст аплета LineDraw
Листинг 1
Листинг 2
Метод getAppletInfo
Метод init
Метод paint

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

Переключатели
Класс Checkbox
Конструкторы
Методы
Переключатели с независимой фиксацией
Переключатели с зависимой фиксацией
Конструктор
Методы
Списки Choice
Списки класса Choice

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

Режимы BorderLayout
Режим BorderLayout
Конструкторы класса BorderLayout
Методы класса BorderLayout
Применение класса BorderLayout
Режимы CardLayout
Режим CardLayout
Конструкторы класса CardLayout
Методы класса CardLayout
Использование режима размещения CardLayout

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

Аплет Options
Аплет Options
Окно аплета Options
Выбор цвета фона
Выбор цвета текста
Исходный текст
Исходный текст аплета Options
Листинг 1
Описание текста
Описание исходного текста аплета Options

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

Работа с классом MenuBar
Класс Menu
Класс Menu
Конструкторы
Методы
Работа с классом Menu
Класс MenuItem
Класс MenuItem
Конструктор
Методы

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

Методы
Создание дочернего класса на базе класса Thread
Реализация интерфейса Runnable
Многопоточность и анимация
Применение многопоточности для анимации
Синхронизация потоков
Синхронизация потоков
Синхронизация методов
Блокировка потока
Блокировка на заданный период времени

Программирование на языке Java

Вообще опасно объявлять каждую новую технологию программирования революционной. Если вы поторопитесь подать свой голос за признание технологии, подобной той, которая реализована в языке Java, революционной — вас могут закидать тухлыми яйцами или занести в разряд пустозвонов, падких на модные новинки. Что же в таком случае делает тот или иной продукт революционным ? Он не может быть только лишь компактней, быстрее и дешевле. Такой продукт должен изменить весь стиль работы, радикально упростив решение сложных проблем.
Создание языка Java — это действительно один из самых значительных шагов вперед в области разработки сред программирования за последние 20 лет. Язык HTML (Hypertext Markup Language — язык разметки гипертекста) был необходим для статического размещения страниц во “Всемирной паутине” WWW (World Wide Web). Язык Java потребовался для качественного скачка в создании интерактивных продуктов для сети Internet.
Три ключевых элемента объединились в технологии языка Java и сделали ее в корне отличной от всего, существующего на сегодняшний день.

Революция по имени Java
Java предоставляет для широкого использования свои апплеты (applets) — небольшие, надежные, динамичные, не зависящие от платформы активные сетевые приложения, встраиваемые в страницы Web. Апплеты Java могут настраиваться и распространяться потребителям с такой же легкостью, как любые документы HTML.
Java высвобождает мощь объектно-ориентированной разработки приложений, сочетая простой и знакомый синтаксис с надежной и удобной в работе средой разработки. Это позволяет широкому кругу программистов быстро создавать новые программы и новые апплеты.

Апплеты Java
Революционный язык программирования
Простота и мощь
Безопасность
Объектная ориентированность
Надежность
Интерактивность
Независимость от архитектуры ЭВМ
Интерпретация плюс производительность
Богатая объектная среда

Конструкторы
Если вы имеете дело с каким-либо типом данных и хотите вывести значение этого типа в удобочитаемом виде, сначала придется преобразо-вать это значение в текстовую строку. Для этого существует метод val-ueOf. Такой статический метод определен для любого существующего в Java типа данных (все эти методы совмещены, то есть используют одно и то же имя). Благодаря этому не составляет труда преобразовать в стро-ку значение любого типа.

Основы
Типы исключений
Неперехваченные исключения
Try и catch
Несколько разделов catch
Вложенные операторы try
Throw
Throw ОбъектТипаThrowable;
Throws
Finally

Меню
С каждым окном верхнего уровня может быть связана линейка меню. Объект MenuBar может включать в себя несколько объектов Menu. Последние, в свою очередь, содержат в себе список вариантов выбора - объектов MenuItem. Menu - подкласс MenuItem, так что объекты Menu также могут включаться в этот список, что позволяет создавать иерархически вложенные подменю.

Модель обработки событий Java 1.0
Элементы и связанные с ними события
Элементы AWT и события Java 1.0
Рисование "каракулей" в Java 1.0
Модель обработки событий Java 1.1
Типы событий, слушатели и методы слушателей
Элементы пакета AWT
Рисование "каракулей" в Java 1.1
Рисование "каракулей" - встроенные классов
Работа с изображениями

Спецификация Java Server Pages 1.2

Данная Спецификация защищена авторскими правами, и информация, приведённая здесь, может быть защищена одним или более патентами США, иностранными патентами или задействованными приложениями.
За исключением случаев, указанных в данной лицензии, никакая часть данной Спецификации не может воспроизводиться в любой форме и любым способом без наличия предварительного письменной авторизации Sun Microsystems, Inc. ("Sun") и её лицензоров, если имеются.
Любая часть данной Спецификации и описанной здесь информации управляется терминами и условиями данной лицензии и Export Control Guidelines, как установлено ранее в Terms of Use на сайте Sun.
Просматривая, загружая и копируя данную Спецификацию, Вы соглашаетесь с тем, что Вы прочли, поняли и согласны со всеми терминами и условиями, установленными здесь и далее.
Настоящим документом Sun предоставляет Вам лицензию на бесплатное, неисключительное пользование без права передачи (без права на сублицензию), с сохранением прав интеллектуальной собственности Sun, что является непременным условием использования данной Спецификации для внутренних целей дизайна и разработки Ваших Java-аплетов и приложений, предназначенных для работы на платформе Java, или для создания чисто рабочих реализаций данной Спецификации

Процессы Сообщества Java
JavaServer Pages™ это технология Java™ 2 Platform, Enterprise Edition (J2EE) для создания приложений, генерирующих динамическое web-содержимое - HTML, DHTML, XHTML и XML. Технология JavaServer Pages даёт возможность легко создавать динамическое содержимое web-страниц, предельно мощное и гибкое.

Технология JavaServer Pagesтм
Общие Понятия
Преимущества Технологии JavaServer Pages
Базовые Понятия
Что такое страница JSP?
Web-Приложения
Компоненты и Контейнеры
Этапы Трансляции и Выполнения
Роль в Платформе Java 2, Enterprise Edition
Синтаксис Ядра и Семантика

Неявное Отображение Входов из Контейнера
Контейнер также может добавлять дополнительные вхождения к отображению taglib. Как и в предыдущем случае, входы добавляются только для тех URI, которые не представлены в отображении. Концептуально эти вхождения соответствуют TLD, описывающему эти библиотеки тэгов. Эти неявные вхождения отображения соответствуют библиотекам, которые известны контейнеру, который отвечает за предоставление их реализации, либо через обработчики тэгов, либо через механизм, описанный в Разделе .

Определение Ресурса Пути TLD
Определение Ресурса Пути TLD - 2
Загрузчик Классов Времени Трансляции
Ассемблирование Web-Приложения
Хорошо Известные URI
Формат Дескриптора Библиотеки Тэгов
Формат Дескриптора Библиотеки Тэгов - 2
Формат Дескриптора Библиотеки Тэгов - 3
Формат Дескриптора Библиотеки Тэгов - 4
Формат Дескриптора Библиотеки Тэгов - 5

Словарь

Программирование мобильных телефонов на Java

Рынок мобильных телефонов - это, пожалуй, самый быстроразвивающийся сегмент рынка. Несколько лет назад мобильный телефон был чем-то дорогим и недосягаемым. Оплата за связь была астрономической. Но времена меняются, связь подешевела, мобильные телефоны продаются на каждом углу и наличие телефона у человека можно уже сравнить с наличием обычных наручных часов.
Обилие разнообразных моделей телефонов создает на этом рынке большую конкуренцию. Множество производителей стараются включить в телефоны как можно больше различных функций. Присутствием в телефоне адресной книги, органайзера, будильника и даже счетчика калорий уже никого не удивишь, и в какой-то момент времени возник вопрос, а чем же еще можно оборудовать телефон? Самым идеальным решением этого вопроса могла стать возможность загрузки в телефон программ сторонних производителей. Не секрет, что основная масса телефонов работает на основе прошивки, поэтому загрузка программ в телефон не возможна. Чтобы такая возможность появилась, производителям надо было бы решить ряд сложных вопросов. Во-первых - это язык программирования, на котором будут писаться программы для телефонов и, соответственно,, поддержка этого языка самим телефоном. Второе - это аппаратная архитектура мобильных телефонов, которая сильно ограничена в своих системных ресурсах, а это процессор, память, графический интерфейс. Улучшение архитектуры неизменно ведет к увеличению стоимости телефона, поэтому идеальной в этом случае стала платформа Java 2 Micro Edition, созданная компанией Sun Microsystems.
Платформа Java 2 ME состоит из виртуальной Java машины, языка программирования Java и огромного количества библиотек, облегчающих работу программиста. Язык программирования Java работает на основе интерпретации, поэтому для работы программ написанных на этом языке необходима виртуальная Java машина, встроенная в устройство, на котором планируется запускать Java программы. Наличие виртуальной Java машины в мобильном телефоне означает, что производитель поддерживает технологию Java. В данный момент практически все производители имеют поддержку Java технологии, что позволяет писать любые программы на этом языке и загружать их в телефон.

Введение
Язык программирования Java 2 ME сам по себе не сложен^ а обилие готовых библиотек позволяет писать Java приложения за короткий промежуток времени. И что самое главное, наборы инструментальных средств программирования поставляемые компанией Sun Microsystems и производителями телефонов абсолютно бесплатны! Множество энтузиастов со всего мира в кратчайшие сроки создают как платные, так и бесплатные программы и игры на Java 2 ME. Задача этой книги - дать исчерпывающую информацию по программированию мобильных телефонов, поддерживающих платформу Java 2 ME.

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

Стандарт GSM
Архитектура телефонов
Прошивка и операционная система
Инфракрасный порт
Технология Bluetooth
Протокол WAP
Протокол GPRS
Карта SIM

Платформа Java 2 Micro Edition
История языка программирования Java насчитывает более десяти лет. Вначале, при создании Java, планировалось использовать этот язык для программирования микроконтроллеров бытовых устройств. Поэтому язык Java, тогда он, правда, имел другое название, изначально создавался независимым от архитектуры, компактным и безопасным, что в последствии сыграло решающую роль в его широком распространении. Однако, в тот момент язык программирования Java не смог обрести популярности.

Конфигурация CDC
Конфигурация CLDC
Свойства языка Java
Виртуальная машина
Профиль
Схема взаимодействия приложений
Профиль MIDP 2 0 и конфигурация CLDC 1 0
Пакет java lang
Иерархия классов пакета java lang
Пакет Java util

Средства разработки мобильных приложений
Прежде чем приступить к инсталляции SUN ONE Studio 4 Mobile Edition и J2ME Wireless Toolkit 2.1, необходимо установить набор инструментальных средств Java 2 SDK, SE vl.4.2_03 (Software Development Toolkit Standard Edition). Это последняя на данный момент версия библиотеки, предоставляющая программные средства для создания приложений на Java. В состав этой библиотеки также входит Java 2 Runtime Environment, SE vl.4.2_03, которая необходима для работы приложений написанных на Java.

Установка Java 2 SDK SE
Окно Java 2 SDK SE v1 4 2_03 Custom Setup
Среда SUN ONE Studio 4 Mobile Edition
Окно SUN ONE Studio 4 update 1 Mobile Edition
Окно выбора компонентов к установке
Настройка SUN ONE Studio 4 Mobile Edition
Выбор рабочей директории
Окно Setting Import Wizard
Окно Setup Wizard
Инсталлируемые модули

Телефонные эмуляторы
Интегрированные средства разработки приложений для мобильных телефонов рассмотренные в предыдущей главе имеют в своем составе несколько эмуляторов мобильных устройств несуществующих марок телефонов. Эмулятор телефона -это приложение, программно эмулирующее работу реального телефона, учитывая все технические характеристики этого устройства. Большинство производителей мобильных телефонов имеют в своем арсенале наборы инструментальных средств для программирования телефонов называемых SDK (Software Developer Kit) и множество встраиваемых модулей для эмуляции определенных моделей.

Программное обеспечение телефонов Nokia
Регистрационная форма
Окно заказа серийного номера
Окно Choose install set программы
Окно Select the installation directory of your Sun IDE
Окно Nokia Developer's Suite for
Окно выбора телефонных эмуляторов
Телефонный эмулятор Nokia 7210
Программа Nokia PC Suite 5 1
Дополнительные пакеты Nokia

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

Мидлет
Принцип работы приложения
Команда выхода из программы
Модель работы мидлета
Меню в телефоне
Модель работы мидлета
Пользовательский интерфейс
Структура пользовательского интерфейса
Переход с экрана на экран
Переход с экрана на экран -2

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

Класс Form
Методы класса Form
Расположение элементов в форме
Класс Item
Иерархия суперкласса Item
Класс ChoiceGroup
Типы группы элементов ChoiceGroup
Класс ChoiceGroup
Класс DateField
Текущее время на экране телефона

Программирование графики
Высокоуровневые классы, изученные в главе 6, дают возможность создавать пользовательский интерфейс приложения. По сути, эти классы выполнены в виде шаблонов, используя которые вы мoжете создавать списки, формы, шрифт, группы элементов, бегущие строки. Но использование таких классов-шаблонов несколько упрощает интерфейс программы, лишая возможности использования графики в программах на Java 2 ME. Иногда в приложении необходимо нарисовать таблицу, линию, квадрат, то есть воспользоваться графикой для создания насыщенной и красочной программы.

Класс Canvas
Методы класса Canvas
Класс Graphics
Система координат в Java 2 ME
Методы класса Graphics
Техника прорисовки текста
Рисование линий Для того чтобы
Рисование прямоугольников При
Рисование дуг В английском языке
Класс Main и класс Arc

Техника создания игр
Рынок мобильных телефонов развирается стремительными темпами. Все больше телефонов имеют поддержку технологии Java. Веянье игровой индустрии захватило и мобильные телефоны, поэтому платформа Java 2 ME позиционируется в большей степени как игровая платформа Для мобильных телефонов. При разработке игр под профиль MIDP 1.0 программист сталкивается с массой проблем в виде написания большого количества собственных классов для создания игрового процесса, рисование графики, уровней и так далее.

Класс GameCanvas
Класс Layer
Класс TiledLayer
Ячейки фонового изображения
Класс LayerManager
Класс Sprite
Создание фонового изображения
Константы трансформации
Листинг 8 1 класс MainGame
Обработка событий с клавиш телефона

Мобильная мультимедиа-библиотека
Воспроизведение звуков в играх создает более насыщенную- атмосферу. Хорошая звуковая дорожка к игре - это 30-40% успеха! Но, к сожалению, в мобильных играх, нет возможности воспроизведения мощной полноценной звуковой дорожки, как в компьютерных или приставочных играх, в виду ограничения системных ресурсов телефона. Поэтому, в основном, все звучание в играх сводится к воспроизведению так называемых тональных звуков.

Пакет javax microedition media
Интерфейс Control
Интерфейс Controllable
Интерфейс Player
Интерфейс PlayerListener
Класс Manager
Пакет javax microedition media control
Интерфейс ToneControl
Интерфейс VolumeControl
Воспроизведение wavфайлов

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

Введение в программирование
Объектноориентированное программирование
Классы
Методы
Синтаксис и семантика языка Java 2 ME
Комментарии
Типы данных Java
Операторы
Метод main
Закрытые и открытые члены классов

Справочник по Java 2 Micro Edition
В этом приложении содержится исчерпывающий справочный материал по всем пакетам, интерфейсам, классам, конструкторам классов и константам платформы Java 2 Micro Edition. Справочник выполнен на основе имеющейся документации к платформе Java 2 ME, находящейся на сайте компании Sun Microsystems

Пакет Java lang
Интерфейс Runnable
Пакет java util
Интерфейс Enumeration
Пакет Java io
Интерфейс Datalnput
Пакет javax microedition io
Интерфейс CommConnection
Пакет javax microedition lcdui
Интерфейс Choice

Заключение
Технология Java 2 Micro Edition предоставляет разработчику программного обес-. печения широкий спектр хорошо продуманных интерфейсов, классов, методов и констант, на основе которых происходит построение приложений для телефонов, КПК, телевизионных приставок, органайзеров, пейджеров и других мобильных устройств.

Растровые изображения

Коренное для верстальщика отличие web-страницы от бумажной в том, что web-страница не имеет строго определенных размеров. Страница в окне браузера может прокручиваться вниз и вправо, что позволяет делать ее сколь угодно длинной или широкой. Кроме того, количество материала, помещающегося в окне, напрямую зависит от разрешения экрана, установленного у просматривающего. Такая "неопределенность" главного параметра страницы — ее формата — крайне непривычна для верстальщика и дизайнера бумажных изданий. Это и неудивительно, поскольку web-страница обладает своими, только ей присущими средствами выразительности, и ее дизайн вследствие этого очень отличается от книжного.
Несмотря на неопределенность формата web-страницы, все-таки существуют размеры, на которые следует ориентироваться. Ширина страницы не должна превышать ширину экрана компьютера пользователя. Если вы работаете с издательскими системами, наверняка установленный на вашем компьютере монитор имеет большую диагональ (17 или 21 дюйм), но далеко не все пользователи так "удачливы". Еще достаточно велик парк 14-дюймовых мониторов, на которых невозможно или неудобно устанавливать разрешение больше 800х600 пикселов. Это разрешение сейчас наиболее часто встречается, и ориентироваться лучше всего на него. Чтобы не заставлять вас переводить пикселы в сантиметры или дюймы, разработчики CorelXARA укомплектовали программу двумя шаблонами страниц 800х600 и 640х480 пикселов. Используя их, следует учитывать, что большинство пользователей предпочитают открывать окно браузера не на весь экран. Это дает возможность быстро переключаться между несколькими одновременно открытыми его копиями. В результате наиболее распространенный размер web-страницы — примерно 650х450 и 500х300 пикселов, на него и нужно ориентироваться.

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

Webстраница
Размеры webстраницы
Размер webстраницы
Адреса объектов в Internet
Таблица 10 1
Язык описания страниц HTML
Простейший документ HTML в браузере
WIDTH=/! Ширина изображения в
HSPACE=w Отступ
Форматы файлов

Трассировка точечного изображения
Трассировщик CorelXARA характеризуется достаточной гибкостью, отличным качеством и очень высокой скоростью работы. Верхнюю часть диалогового окна Bitmap tracer занимают две области просмотра. В левой всегда находится точечный оригинал. Если в документе трассируемое изображение не выделено, то эта область просмотра поможет вам при выборе нужного изображения из списка, расположенного ниже. В правой области просмотра отображается результат трассировки.

Диалоговое окно Bitmap tracer
Точечные заливки
Маяк на берегу моря
Рисование контуров маяка
Этапы создания контуров маяка
Рисование ограждения
Дополнительная обработка контуров
Рисование окна
Заливка контуров маяка
Заливка рисунка маяка фото текстурами


Де Бомон Мадам Лепренс - Красавица И Чудовище
Три статьи по работе с MySQL
РУКОВОДСТВО ПО РЕЛЯЦИОННОЙ СУБД DB2
Разработка приложений баз данных для СУБД Sybase SQL Anywhere
Сравнение подходов к крупномасштабному анализу данных
Серверы корпоративных баз данных
Основы проектирования приложений баз данных
Научись снимать цифровым фотоаппаратом
Шифрование и секретность в Linux
Основы цвета
Джебран Халиль Джебран - Философия Логики Или Познание Самого Себя
OpenGL в Delphi
Советы по Delphi от Валентина Озерова
Безопасность в Дельфи
Современное делопроизводство
Основы языка Delphi
Delphi 6 программирование
Статьи Королевства Дельфи
Справочник параметров командной строки
Delphi 5.Учебник