Microsoft Visual J++. Создание приложений и аплетов на языке Java

Microsoft Visual J++. Создание приложений и аплетов на языке Java


Аннотация
Введение
Благодарности
Как связаться с авторами
Новый язык программирования
Мобильность Java

Базовые типы данных
Библиотеки классов Java
Встроенные классы


Замещающие классы
Класс String
Другие встроенные классы
Подключаемые библиотеки классов
Библиотека классов java.util

Библиотека классов java.io
Библиотека классов java.net
Библиотека классов java.awt
Библиотека классов java.awt.image
Библиотека классов java.awt.peer
Библиотека классов java.applet
Указатели, которых нет
Массивы в Java
Сборка мусора
Особенности реализации классов в Java

Определение класса
Определение методов
Переопределение операторов
Интерфейсы
Ссылки на методы класса
Наследование
Первое приложение и первый аплет
Приложение Hello
Подготовка и запуск приложения

Взгляд на исходный текст приложения Hello
Простейший аплет
Исходные файлы аплета HelloAp
Файл HelloAp.java
Конструктор HelloAp
Метод getAppletInfo

Метод init
Метод destroy
Метод start
Метод stop
Метод paint
Файл HelloApp.html
Упрощаем исходный текст аплета
Рисование в окне аплета

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

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

Линии
Прямоугольники и квадраты
Многоугольники
Овалы и круги
Сегменты
Задание области ограничения
Копирование содержимого прямоугольной области
Приложение Painter
Исходные файлы приложения Painter

Приложение FontList
Исходный текст приложения

Описание исходного текста
Приложение TextOut
Исходные тексты приложения TextOut

Описание исходных текстов
Поля класса TextOut
Метод getParameterInfo
Обработка событий
Как обрабатываются события
События от мыши
Нажатие клавиши мыши

Отпускание клавиши мыши
Перемещение курсора мыши
Выполнение операции Drag and Drop
Вход курсора мыши в область окна аплета
Выход курсора мыши из области окна аплета
Приложение MouseClick
Исходные тексты приложения

Метод mouseDown
Методы mouseUp, mouseDrag, mouseEnter, mouseExit
Метод mouseMove
Приложение LineDraw

Поля класса LineDraw
Метод mouseUp
Метод mouseDrag
События от клавиатуры
Приложение KeyCode

Исходные тексты приложения KeyCode
Поля класса KeyCode
Метод keyDown
Метод keyUp
Компоненты в окне аплета

Microsoft Visual J++. Создание приложений и аплетов на языке Java

Компоненты в окне аплета - 2

Кнопки
Обработка событий от кнопки
Приложение ButtonPress
Исходные тексты приложения ButtonPress
Поля класса ButtonPress

Метод action
Переключатели
Создание переключателей с независимой фиксацией
Создание переключателей с зависимой фиксацией
Приложение CheckBoxes
Исходные тексты приложения CheckBoxes

Поля класса CheckBoxes
Списки класса Choice
Приложение ChoiceList
Исходные тексты приложения ChoiceList

Поля класса ChoiceList
Списки класса List
Описание класса List

Обработка событий от списка класса List
Приложение ListBox
Поля класса ListBox

Текстовое поле класса Label
Приложение TextLabel
Поля класса TextLabel

Текстовое поле класса TextField
Приложение TxtField

Поля класса TxtField
Многострочное текстовое поле класса TextArea
Приложение TextEdit

Настройка системы Layout Manager
Режимы системы Layout Manager
Режим FlowLayout

Режим GridLayout
Приложение Grid
Режим BorderLayout
Приложение Border

Режим CardLayout
Режим GridBagLayout
Работа с панелями
Создание панелей
Добавление панелей
Добавление компонент в панели
Рисование в окне панели
Приложение PanelDemo

Поля класса PanelDemo
Приложение Notebook

Поля класса Notebook

Создание нового класса на базе класса Panel
Приложение Panel2

Класс FirstPanel
Метод paint класса FirstPanel
Класс SecondPanel
Метод paint класса SecondPanel
Окна и диалоговые панели
Окна класса Frame

Меню в окне класса Frame
Классы Menu и MenuItem
Создание диалоговых панелей
Приложение FrameWnd

Microsoft Visual J++. Создание приложений и аплетов на языке Java

Поля класса FrameWnd
Метод getAppletInfo класса FrameWnd
Метод init класса FrameWnd
Метод destroy класса FrameWnd
Метод action класса FrameWnd
Класс MainFrameWnd
Поля класса MainFrameWnd
Конструктор класса MainFrameWnd

Метод paint класса MainFrameWnd
Метод handleEvent класса MainFrameWnd
Метод action класса MainFrameWnd
Класс MessageBox
Поля класса MessageBox
Конструктор класса MessageBox
Метод handleEvent класса MessageBox
Метод action класса MessageBox
Литература

Microsoft Visual J++. Создание приложений и аплетов на языке Java

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

Создание дочернего класса на базе класса Thread
Реализация интерфейса Runnable
Применение мультизадачности для анимации
Приложение MultiTask
Исходные тексты приложения
Описание исходных текстов
Метод getAppletInfo
Метод init
Метод destroy

Метод paint
Метод start
Метод stop
Метод run
Приложение Rectangles
Исходные тексты приложения
Описание исходных текстов
Метод paint

Метод start
Метод stop
Метод run
Метод mouseEnter
Метод mouseExit
Приложение MultiTask2
Исходные тексты приложения

Описание исходного текста
Поля класса MultiTask2
Метод paint класса MultiTask2
Метод start класса MultiTask2
Метод stop класса MultiTask2
Поля класса DrawRectangles
Конструктор класса DrawRectangles
Метод run класса DrawRectangles
Класс DrawEllipse
Приложение Scroller

Исходные тексты приложения
Описание исходных текстов
Поля класса Scroller
Метод init
Метод paint
Метод start

Метод stop
Метод run
Приложение HorzScroll
Исходные тексты приложения
Описание исходных текстов
Поля класса HorzScroll

Метод init
Метод paint
Метод run
Синхронизация задач
Синхронизация методов
Блокировка задачи
Блокировка на заданный период времени
Временная приостановка и возобновление работы

Ожидание извещения
Ожидание завершения задачи
Приложение Synchro
Исходные тексты приложения
Описание исходных текстов
Поля основного класса аплета
Метод start основного класса

Метод stop основного класса
Поля класса DrawRectangles
Конструктор класса DrawRectangles
Метод run класса DrawRectangles
Поля класса NotifyTask
Метод run класса NotifyTask
Задачи-демоны
Работа с файлами
Классы Java для работы с потоками
Стандартные потоки

Базовые классы для работы с файлами и потоками
Класс InputStream
Класс OutputStream
Класс RandomAccesFile
Класс File
Класс FileDescriptor
Класс StreamTokenizer
Производные от класса InputStream
Класс FilterInputStream
Класс BufferedInputStream

Класс DataInputStream
Класс LineNumberInputStream
Класс PushBackInputStream
Класс ByteArrayInputStream
Класс StringBufferInputStream
Класс FileInputStream
Класс PipedInputStream
Класс SequenceInputStream
Производные от класса OutputStream
Класс FilterOutputStream

Класс BufferedOutputStream
Класс DataOutputStream
Класс PrintStream
Класс ByteArrayOutputStream
Класс FileOutputStream
Класс PipedOutputStream
Работа со стандартными потоками
Стандартный поток ввода
Стандартный поток вывода
Стандртный поток вывода сообщений об ошибках

Приложение Standard
Исходный текст приложения
Описание исходного текста
Создание потоков, связанных с файлами
Создание потока для форматированного обмена данными
Добавление буферизации
Исключения при создании потоков
Запись данных в поток и чтение данных из потока
Простейшие методы
Методы для чтения и записи форматированных данных

Закрывание потоков
Принудительный сброс буферов
Приложение StreamDemo
Исходный текст приложения
Описание исходного текста приложения
Потоки в оперативной памяти
Класс ByteArrayOutputStream
Класс ByteArrayInputStream

Класс StringBufferInputStream
Приложение MemStream
Исходные тексты приложения
Описание исходных текстов
Метод init

Microsoft Visual J++. Создание приложений и аплетов на языке Java

Метод paint
Класс StreamTokenizer для разбора входных потоков
Конструктор класса StreamTokenizer
Методы класса StreamTokenizer
Методы для настройки параметров разборщика

Методы для разбора входного потока
Приложение StreamToken
Исходный текст приложения
Описание исходного текста приложения
Описание исходного текста приложения - 2
Класс StringTokenizer
Приложение StringToken
Исходный текст приложения

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

Определение пути к файлу или каталогу
Определение родительского каталога
Определение длины файла в байтах
Определение времени последней модификации файла или каталога
Получение текстового представления объекта
Получение значения хэш-кода
Удаление файлов и каталогов
Создание каталогов
Переименование файлов и каталогов
Сравнение объектов класса File

Получение списка содержимого каталога
Приложение FileInfo
Исходный текст приложения FileInfo
Описание исходного текста
Приложение DirList
Исходный текст приложения
Описание исходного текста

Произвольный доступ к файлам
Приложение DirectFileAccess
Исходные тексты приложения
Описание исходных текстов
Метод main
Класс SimpleDBMS

Поля класса SimpleDBMS
Конструктор класса SimpleDBMS
Метод close
Метод AddRecord
Метод GetRecordByNumber
Создание сетевых приложений
Создание сетевых приложений - 2
Адрес IP и класс InetAddress
Создание объекта класса InetAddress для локального узла
Создание объекта класса InetAddress для удаленного узла

Определение адреса IP
Определение имени узла
Сравнение адресов IP
Приложение InetAddressDemo
Исходные тексты приложения InetAddressDemo
Исходные тексты приложения InetAddressDemo - 2
Описание исходных текстов
Универсальный адрес ресурсов URL
Класс URL в библиотеке классов Java
Конструкторы класса URL

Методы класса URL
Метод openStream
Метод getContent
Метод getHost
Метод getFile
Метод getPort
Метод getProtocol
Метод getRef
Метод hashCode
Метод sameFile

Метод equals
Метод toExternalForm
Метод toString
Метод openConnection
Приложение URLDemo
Исходный текст приложения
Описание исходного текста
Приложение ShowChart
Исходные тексты приложения

Описание исходного текста
Поля класса ShowChart
Метод init
Метод paint
Передача данных с использованием сокетов
Работа с потоковыми сокетами

Инициализация сервера
Инициализация клиента
Передача данных между клиентом и сервером
Завершение работы сервера и клиента
Конструкторы и методы класса Socket
Конструкторы класса Socket
Методы класса Socket
Приложения SocketServ и SocketClient
Исходный текст серверного приложения SocketServ

Описание исходного текста серверного приложения SocketServ
Исходный текст клиентского приложения SocketClient
Описание исходного текста клиентского приложения SocketClient
Использование датаграммных сокетов
Класс DatagramSocket
Класс DatagramPacket
Приложения DatagramServer и DatagramClient
Исходный текст приложения DatagramServer

Описание исходного текста приложения DatagramServer
Исходный текст приложения DatagramClient
Описание исходного текста приложения DatagramClient
Связь приложений Java с расширениями сервера Web
Взаимодействие приложения Java и расширения сервера Web
Класс URLConnection
Приложение CallCGI

Исходный текст приложения CallCGI
Описание исходного текста приложения CallCGI
Исходные тексты программы CGI
Растровые изображения и анимация
Загрузка и рисование растрового изображения

Класс Image
Приложение ImageDraw
Исходные тексты приложения
Описание исходных текстов
Поля класса ImageDraw
Метод init
Метод paint
Ожидание загрузки изображений
Применение класса MediaTracker

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

Microsoft Visual J++. Создание приложений и аплетов на языке Java

Приложение ImageDrawWait
Исходные тексты приложения
Описание исходных текстов
Метод init

Метод paint
Приложение DrawImageObserver
Исходные тексты приложения
Описание исходных текстов
Метод init
Метод paint
Метод imageUpdate
Видео в окне аплета
Приложение CDRotation

Исходные тексты приложения
Описание исходных текстов
Метод start
Метод stop
Метод paint
Метод run

Метод displayImage
Звук в аплетах Java
Загрузка и проигрывание звуковых файлов
Приложение Audio
Исходные тексты приложения
Описание исходного текста
Поля класса Audio

Метод getParameterInfo
Метод init
Метод action
Метод start
Метод stop
Взаимодействие между аплетами
Использование интерфейса AppletContext
Получение контекста аплетов
Получение ссылки на аплет
Получение списка всех аплетов

Просмотр списка аплетов
Получение строки информации об аплете
Получение информации о параметрах аплета
Получение значений параметров аплета
Обращение к полям и методам других аплетов
Приложение Inspector
Исходные тексты приложения

Описание исходных текстов
Поля класса Inspector
Метод getAppletInfo
Метод init
Метод paint
Метод action
Комбинированные приложения Java
Структура комбинированных приложений
Главный класс комбинированного приложения

Класс фрейма для комбинированного приложения
Приложение Combi
Исходные тексты приложения
Описание исходных текстов
Поля класса Combi
Метод init
Метод paint

Литература

Содержание раздела