Оглавление......Page 4
Введение......Page 19
Что такое Java?......Page 20
Структура книги......Page 21
Выполнение Java-программы......Page 24
Что такое JDK?......Page 25
Как установить JDK?......Page 27
Как использовать JDK?......Page 28
Особая позиция Microsoft......Page 30
Java в Интернете......Page 31
Литература по Java......Page 32
Благодарности......Page 33
Базовые конструкции языка Java......Page 34
Первая программа на Java......Page 35
Комментарии......Page 38
Целые......Page 40
Символы......Page 41
Строки......Page 42
Примитивные типы данных и операции......Page 43
Логические операции......Page 45
Целые типы......Page 46
Арифметические операции......Page 47
Приведение типов......Page 48
Побитовые операции......Page 50
Сдвиги......Page 51
Вещественные типы......Page 52
Операции присваивания......Page 53
Выражения......Page 54
Приоритет операций......Page 55
Операторы......Page 56
Условный оператор......Page 57
Упражнения......Page 59
Операторы цикла......Page 60
Оператор continue и метки......Page 62
Оператор варианта......Page 63
Массивы......Page 65
Многомерные массивы......Page 67
Вопросы для самопроверки......Page 69
Парадигмы программирования......Page 71
Абстракция......Page 74
Иерархия......Page 77
Ответственность......Page 78
Модульность......Page 79
Принцип KISS......Page 81
Как описать класс и подкласс?......Page 82
Передача аргументов в метод......Page 84
Перегрузка методов......Page 85
Переопределение методов......Page 86
Реализация полиморфизма в Java......Page 87
Абстрактные методы и классы......Page 88
Окончательные члены и классы......Page 89
Класс Object......Page 90
Конструкторы класса......Page 91
Статические члены класса......Page 92
Класс Complex......Page 94
Метод main()......Page 97
Методы с переменным числом аргументов......Page 98
Где видны переменные......Page 99
Вложенные классы......Page 101
Отношения "быть частью" и "являться"......Page 105
Вопросы для самопроверки......Page 106
Пакеты, интерфейсы и перечисления......Page 107
Пакет и подпакет......Page 108
Права доступа к членам класса......Page 109
Размещение пакетов по файлам......Page 111
Импорт классов и пакетов......Page 113
Java-файлы......Page 114
Интерфейсы......Page 115
Перечисления......Page 119
Объявление аннотаций......Page 122
Схема проектирования MVC......Page 124
Шаблон Singleton......Page 125
Вопросы для самопроверки......Page 127
Использование классов из Java API......Page 128
Классы-оболочки и generics......Page 129
Числовые классы......Page 130
Автоматическая упаковка и распаковка типов......Page 132
Настраиваемые типы (generics)......Page 133
Шаблон типа (wildcard type)......Page 136
Настраиваемые методы......Page 137
Класс Boolean......Page 138
Класс Character......Page 139
Класс BigInteger......Page 142
Класс BigDecimal......Page 144
Класс Class......Page 148
Вопросы для самопроверки......Page 151
Работа со строками......Page 152
Как создать строку......Page 153
Как узнать длину строки......Page 158
Как выбрать подстроку......Page 159
Как сравнить строки......Page 160
Как найти символ в строке......Page 162
Как изменить регистр букв......Page 163
Как преобразовать в строку данные другого типа......Page 164
Конструкторы......Page 165
Как вставить подстроку......Page 166
Как перевернуть строку......Page 167
Класс StringTokenizer......Page 168
Вопросы для самопроверки......Page 169
Класс Vector......Page 170
Как добавить элемент в вектор......Page 171
Как узнать, есть ли элемент в векторе......Page 172
Как удалить элементы......Page 173
Класс Stack......Page 174
Класс Hashtable......Page 175
Как получить значение по ключу......Page 176
Как удалить элементы......Page 177
Класс Properties......Page 178
Интерфейс List......Page 181
Интерфейс SortedSet......Page 182
Интерфейс NavigableSet......Page 183
Интерфейс Deque......Page 184
Интерфейс BlockingDeque......Page 185
Интерфейс Map......Page 186
Интерфейс NavigableMap......Page 187
Абстрактные классы-коллекции......Page 188
Интерфейс Iterator......Page 189
Интерфейс ListIterator......Page 190
Классы, создающие списки......Page 191
Дек......Page 192
Упорядоченные отображения......Page 193
Сравнение элементов коллекций......Page 194
Связанные множества......Page 195
Методы класса Collections......Page 196
Упражнение......Page 197
Вопросы для самопроверки......Page 198
Бинарный поиск в массиве......Page 199
Копирование массива......Page 200
Представление массива строкой......Page 201
Локальные установки......Page 202
Часовой пояс и летнее время......Page 204
Подкласс GregorianCalendar......Page 205
Представление даты и времени......Page 206
Копирование массивов......Page 207
Взаимодействие с системой......Page 208
Создание графического интерфейса пользователя и апплетов......Page 209
Принципы построения графического интерфейса......Page 210
Компонент и контейнер......Page 212
Иерархия классов AWT......Page 215
Окно библиотеки Swing......Page 216
Использование системных приложений......Page 217
System Tray......Page 218
Вопросы для самопроверки......Page 219
Как задать цвет......Page 221
Как нарисовать чертеж......Page 223
Класс Polygon......Page 224
Прочие методы класса Graphics......Page 225
Как задать шрифт......Page 226
Класс FontMetrics......Page 230
Возможности Java 2D......Page 233
Класс AffineTransform......Page 235
Класс BasicStroke......Page 238
Класс GeneralPath......Page 241
Классы GradientPaint и TexturePaint......Page 242
Классы LinearGradientPaint и RadialGradientPaint......Page 244
Вывод текста средствами Java 2D......Page 245
Методы улучшения визуализации......Page 249
Вопросы для самопроверки......Page 251
Класс Component......Page 252
Как создать свой курсор......Page 254
События......Page 255
Класс Container......Page 256
Кнопка Button......Page 257
Класс CheckboxGroup......Page 258
Как создать группу радиокнопок......Page 259
Раскрывающийся список Choice......Page 260
Список List......Page 261
События......Page 262
Класс TextComponent......Page 263
Поле ввода TextArea......Page 264
События......Page 265
События......Page 267
Контейнер Panel......Page 269
Контейнер ScrollPane......Page 270
События......Page 271
События......Page 272
Контейнер Dialog......Page 274
События......Page 275
События......Page 277
Компонент Canvas......Page 278
Создание "легкого" компонента......Page 280
Создание меню......Page 282
Всплывающее меню......Page 287
Вопросы для самопроверки......Page 290
Оформление ГИП компонентами Swing......Page 291
Состав библиотеки Swing......Page 292
Компонент JComponent......Page 294
Схема MVC в компонентах Swing......Page 295
Надпись JLabel......Page 297
Кнопки......Page 299
Кнопка выбора JToggleButton......Page 301
Радиокнопка JRadioButton......Page 303
Упражнение......Page 304
Раскрывающийся список JComboBox......Page 305
Список выбора JList......Page 306
Визуализация элементов списков......Page 307
Счетчик JSpinner......Page 309
Ползунок JSlider......Page 311
Дерево объектов JTree......Page 313
Строка меню JMenuBar......Page 317
Пункт меню JMenuItem......Page 318
Всплывающее меню JPopupMenu......Page 320
Панель выбора цвета JColorChooser......Page 321
Фильтр файлов FileFilter......Page 323
Дополнительный компонент......Page 325
Замена изображений......Page 326
Вопросы для самопроверки......Page 328
Модель данных — документ......Page 329
Строка символов Segment......Page 330
Атрибуты текста......Page 331
Внесение структуры в документ......Page 332
Реализации документа......Page 333
Вид......Page 334
Курсор......Page 336
Ограничение перемещения курсора......Page 337
Раскладка клавиатуры......Page 338
Поле ввода JTextField......Page 339
Редактор объектов JFormattedTextField......Page 342
Область ввода JTextArea......Page 343
Текстовый редактор JEditorPane......Page 344
Вопросы для самопроверки......Page 345
Класс JTable......Page 346
Модель ячеек таблицы......Page 348
Заголовки столбцов таблицы JTableHeader......Page 353
Модель выделения ячеек......Page 355
Визуализация ячеек таблицы......Page 356
Редактор ячеек таблицы......Page 359
Сортировка строк таблицы......Page 362
Фильтрация строк таблицы......Page 364
Печать таблицы......Page 365
Вопросы для самопроверки......Page 366
Менеджер FlowLayout......Page 367
Менеджер BorderLayout......Page 369
Менеджер GridLayout......Page 371
Менеджер CardLayout......Page 372
Менеджер GridBagLayout......Page 374
Панель JPanel......Page 376
Панель прокрутки JScrollPane......Page 377
Двойная панель JSplitPane......Page 379
Панель с вкладками JTabbedPane......Page 380
Менеджер размещения BoxLayout......Page 382
Компоненты-заполнители......Page 383
Менеджер размещения SpringLayout......Page 384
Размеры Spring......Page 385
Промежутки Constraints......Page 386
Размещение компонентов......Page 387
Панель инструментальных кнопок JToolBar......Page 388
Интерфейс Action......Page 390
Слоеная панель JLayeredPane......Page 391
Корневая панель JRootPane......Page 392
Окно JWindow......Page 394
Диалоговое окно JDialog......Page 395
Окно верхнего уровня JFrame......Page 396
Внутреннее окно JInternalFrame......Page 397
Рабочий стол JDesktopPane......Page 399
Стандартные диалоги JOptionPane......Page 400
Окно с индикатором ProgressMonitor......Page 404
Заключение......Page 405
Вопросы для самопроверки......Page 406
Обработка событий......Page 407
Самообработка событий......Page 411
Обработка вложенным классом......Page 412
Событие ActionEvent......Page 413
Обработка действий мыши......Page 414
Классы-адаптеры......Page 417
Управление колесиком мыши......Page 418
Обработка действий клавиатуры......Page 419
Событие TextEvent......Page 420
Обработка действий с окном......Page 421
Событие ComponentEvent......Page 422
Событие ItemEvent......Page 423
Событие AdjustmentEvent......Page 424
Несколько слушателей одного источника......Page 426
Диспетчеризация событий......Page 427
Создание собственного события......Page 429
Вопросы для самопроверки......Page 430
Оформление рамок......Page 431
Прямолинейная рамка LineBorder......Page 433
Закругленная объемная рамка SoftBevelBorder......Page 434
Рамка с изображением MatteBorder......Page 435
Рамки с надписями TitledBorder......Page 436
Сдвоенные рамки CompoundBorder......Page 439
Создание собственных рамок......Page 440
Вопросы для самопроверки......Page 445
Изменение внешнего вида компонента......Page 446
Получение свойств L&F......Page 448
Задание стандартного L&F......Page 450
Смена всего L&F......Page 452
Замена отдельных свойств L&F......Page 454
Темы Java L&F......Page 457
Вопросы для самопроверки......Page 460
Апплеты......Page 461
Передача параметров в апплет......Page 467
Атрибуты тега