Программирование на Java
Что такое Java?История создания Java
Сложности внутри Sun Microsystems
Проект Green
Компания FirstPerson
World Wide Web
Возрождение OaK
Java выходит в свет
История развития Java
Браузеры
Сетевые компьютеры
Платформа Java
Основные версии и продукты Java
Заключение
Пакетные средства
Интегрированные средства разработки
Подключение к Internet
Документация и литература
Мобильность Java
Базовые типы данных
Библиотеки классов Java
Встроенные классы
Замещающие классы
Класс String
Другие встроенные классы
Подключаемые библиотеки классов
Библиотека классов java.util
Библиотека классов java.io
Библиотека классов java.net
Библиотека классов java.awt
Библиотека классов java.awt.image
Библиотека классов java.awt.peer
Библиотека классов java.applet
Указатели, которых нет
Массивы в Java
Сборка мусора
Особенности реализации классов в Java
Определение класса
Определение методов
Переопределение операторов
Интерфейсы
Ссылки на методы класса
Наследование
Программирование на Java
Методология процедурно-ориентированного программированияМетодология объектно-ориентированного программирования
Объекты
Состояние
Поведение
Уникальность
Классы
Инкапсуляция
Полиморфизм
Типы отношений между классами
Агрегация
Ассоциация
Наследование
Метаклассы
Достоинства ООП
Недостатки ООП
Заключение
Первое приложение Java
Установка Java WorkShop
Запуск Java WorkShop
Создание нового проекта
Исходный текст приложения HelloJava
Кодировка
Анализ программы
Пробелы
Комментарии
Лексемы
Виды лексем
Идентификаторы
Ключевые слова
Литералы
Целочисленные литералы
Дробные литералы
Логические литералы
Символьные литералы
Строковые литералы
Null-литерал
Разделители
Операторы
Пример программы
Дополнение. Работа с операторами
Операторы присваивания и сравнения
Арифметические операции
Логические операторы
Битовые операции
Заключение
Первый аплет Java
Создание проекта аплета
Исходный текст аплета
Методы в классе HelloApplet
Метод init
Метод destroy
Метод start
Метод stop
Исходный текст документа HTML
Изменяем исходный текст аплета
Метод paint
Иерархия классов
Вызов метода paint
Метод getAppletInfo
Программирование на Java
ВведениеПеременные
Примитивные и ссылочные типы данных
Примитивные типы
Целочисленные типы
Дробные типы
Булевский тип
Ссылочные типы
Объекты и правила работы с ними
Класс Object
GetClass()
Equals()
HashCode()
ToString()
Finalize()
Класс String
Класс Class
Заключение
Рисование в окне аплета
Контекст отображения
Методы класса Graphics
Методы
Установка атрибутов контекста отображения
Выбор цвета
Выбор шрифта
Класс Font
Поля класса
Битовые маски стиля шрифта
Методы
Определение атрибутов контекста отображения
Определение границ области ограничения вывода
Определение цвета, выбранного в контекст отображения
Определение шрифта, выбранного в контекст отображения
Определение метрик текущего шрифта
Определение метрик заданного шрифта
Рисование геометрических фигур
Линии
Прямоугольники и квадраты
Многоугольники
Поля класса
Конструкторы
Методы
Овалы и круги
Сегменты
Задание области ограничения
Копирование содержимого прямоугольной области
Аплет Draw
Исходные тексты аплета Draw
Метод init
Извлечение списка шрифтов
Получение значения параметров
Метод paint
Документ HTML для аплета Draw
Проект для аплета Draw
Введение
Простые и составные имена. Элементы
Имена и идентификаторы
Область видимости (введение)
Пакеты
Элементы пакета
Платформенная поддержка пакетов
Модуль компиляции
Объявление пакета
Импорт-выражения
Объявление верхнего уровня
Уникальность имен пакетов
Область видимости имен
"Затеняющее" объявление (Shadowing)
"Заслоняющее" объявление (Obscuring)
Соглашения по именованию
Заключение
События
Как обрабатываются события
События от мыши
Нажатие клавиши мыши
Отпускание клавиши мыши
Перемещение курсора мыши
Выполнение операции Drag and Drop
Вход курсора мыши в область окна аплета
Выход курсора мыши из области окна аплета
Аплет LineDraw
Исходный текст аплета LineDraw
Описание исходного текста
Поля класса LineDraw
Метод getAppletInfo
Метод init
Метод paint
Метод mouseDown
Метод mouseUp
Метод mouseDrag
Метод mouseMove
Программирование на Java
ВведениеМодификаторы доступа
Предназначение модификаторов доступа
Разграничение доступа в Java
Объявление классов
Заголовок класса
Тело класса
Объявление полей
Объявление методов
Объявление конструкторов
Инициализаторы
Дополнительные свойства классов
Метод main
Параметры методов
Перегруженные методы
Заключение
Компоненты в окне аплета
Кнопки
Конструкторы
Методы
Обработка событий от кнопки
Переключатели
Класс Checkbox
Конструкторы
Методы
Создание переключателей с независимой фиксацией
Создание переключателей с зависимой фиксацией
Списки класса Choice
Класс Choice
Создание списков
Списки класса List
Описание класса List
Создание списка класса List
Обработка событий от списка класса List
Текстовое поле класса Label
Поля
Создание поля класса Label
Текстовое поле класса TextField
Создание текстового поля класса TextField
Многострочное текстовое поле класса TextArea
Создание поля TextArea
Аплет FormDemo
Исходный текст аплета FormDemo
Описание исходного текста
Поля главного класса
Метод init
Метод action
Программирование на Java
ВведениеВиды приведений
Тождественное преобразование
Преобразование примитивных типов (расширение и сужение)
Преобразование ссылочных типов (расширение и сужение)
Преобразование к строке
Запрещенные преобразования
Применение приведений
Присвоение значений
Вызов метода
Явное приведение
Оператор конкатенации строк
Числовое расширение
Унарное числовое расширение
Бинарное числовое расширение
Тип переменной и тип ее значения
Заключение
Работа с системой Layout Manager
Режимы системы Layout Manager
Режим FlowLayout
Класс FlowLayout
Поля
Конструкторы
Методы
Режим GridLayout
Конструкторы
Режим BorderLayout
Конструкторы класса BorderLayout
Методы класса BorderLayout
Применение класса BorderLayout
Режим CardLayout
Конструкторы класса CardLayout
Методы класса CardLayout
Использование режима размещения CardLayout
Режим GridBagLayout
Аплет FormLayout
Исходный текст аплета FormLayout
Программирование на Java
Статические элементыКлючевые слова this и super
Ключевое слово abstract
Интерфейсы
Объявление интерфейсов
Реализация интерфейса
Применение интерфейсов
Полиморфизм
Поля
Полиморфизм и объекты
Работа с панелями
Создание панелей
Добавление панелей
Добавление компонент в панели
Рисование в окне панели
Создание нового класса на базе класса Panel
Аплет Options
Исходный текст аплета Options
Описание исходного текста аплета Options
Главный класс аплета Options
Метод init
Класс FirstPanel
Класс CardPanel
Поля класса CardPanel
Конструктор класса CardPanel
Класс ControlPanel
Поля класса ControlPanel
Конструктор класса ControlPanel
Программирование на Java
Массивы как тип данных в JavaОбъявление массивов
Инициализация массивов
Многомерные массивы
Класс массива
Преобразование типов для массивов
Ошибка ArrayStoreException
Переменные типа массив и их значения
Клонирование
Клонирование массивов
Заключение
Окна и диалоговые панели
Окна класса Frame
Поля
Конструкторы
Методы
Применение класса Frame
Меню в окне класса Frame
Работа с классом MenuBar
Класс Menu
Работа с классом Menu
Класс MenuItem
Создание диалоговых панелей
Использование класса Dialog
Приложение MenuApp
Исходный текст приложения MenuApp
Описание исходного текста приложения MenuApp
Класс MenuApp
Класс MainFrameWnd
Поля класса MainFrameWnd
Конструктор класса MainFrameWnd
Метод paint
Метод handleEvent
Метод action
Класс MessageBox
Поля класса MessageBox
Конструктор класса MessageBox
Метод handleEvent класса MessageBox
Метод action класса MessageBox
Программирование на Java
Управление ходом программыНормальное и прерванное выполнение операторов
Блоки и локальные переменные
Пустой оператор
Метки
Оператор if
Оператор switch
Управление циклами
Цикл while
Цикл do
Цикл for
Операторы break и continue
Оператор continue
Оператор break
Именованные блоки
Оператор return
Оператор synchronized
Ошибки при работе программы. Исключения (Exceptions)
Причины возникновения ошибок
Конструкция try-catch
Конструкция try-catch-finally
Использование оператора throw
Проверяемые и непроверяемые исключения
Проверяемые и непроверяемые исключения - 2
Создание пользовательских классов исключений
Переопределение методов и исключения
Особые случаи
Заключение
Многопоточность
Процессы, потоки и приоритеты
Процесс
Поток
Приоритеты потоков в приложениях Java
Реализация многопоточности в Java
Методы класса Thread
Поля
Конструкторы
Методы
Создание дочернего класса на базе класса Thread
Реализация интерфейса Runnable
Применение многопоточности для анимации
Синхронизация потоков
Синхронизация методов
Блокировка потока
Блокировка на заданный период времени
Временная приостановка и возобновление работы
Ожидание извещения
Ожидание завершения потока
Потоки-демоны
Аплет Rectangles
Исходные тексты аплета Rectangles
Описание исходных текстов аплета Rectangles
Поля класса Rectangles
Метод start класса Rectangles
Метод stop класса Rectangles
Поля класса DrawRectangles
Конструктор класса DrawRectangles
Метод run класса DrawRectangles
Метод run класса DrawEllipse
Поля класса NotifyTask
Конструктор класса NotifyTask
Метод run класса NotifyTask