Books / Java_2._polnoe_rukovodstvo
.pdfПроизводственные методы |
554 |
Методы экземпляра |
555 |
Сокеты TCP/IP клиентов |
556 |
Пример работы с сокет-соединением (программа Whois) |
558 |
Использование URL |
559 |
Формат |
559 |
Класс URLConnection |
561 |
Сокеты TCP/IP серверов: |
562 |
Кэширующий proxy HTTP-сервер |
563 |
Исходный код |
564 |
Дейтаграммы |
584 |
Класс DatagramPacket |
584 |
Дейтаграммный сервер и клиент |
585 |
Достоинства сети |
587 |
Глава 19. Класс Applet |
588 |
Основы апплетов |
588 |
Класс Applet |
589 |
Архитектура апплета |
592 |
Скелетная схема апплета |
593 |
Инициализация и завершение апплета |
594 |
Переопределение метода update() |
595 |
Простые методы отображения апплетов |
596 |
Требование перерисовки |
598 |
Апплет с бегущим заголовком |
599 |
Использование окна состояния |
602 |
Тег <applet> |
603 |
Пересылка параметров в апплеты |
605 |
Усовершенствованный апплет заголовка |
606 |
Методы getDocumentBase() и getCodeBase() |
608 |
Интерфейс AppletContext и метод showDocument() |
609 |
Интерфейс AudioClip |
611 |
Интерфейс AppletStub |
611 |
Вывод на консоль |
611 |
Глава 20. Обработка событий |
612 |
Два механизма обработки событий |
612 |
Модель делегирования событий |
613 |
События |
613 |
Источники событий |
614 |
Блок прослушивания событий |
615 |
Классы событий |
615 |
Класс ActionEvent |
617 |
Класс AdjustmentEvent |
618 |
Класс ComponentEvent |
618 |
Класс ContainerEvent |
619 |
Класс FocusEvent |
620 |
Класс InputEvent |
620 |
Класс ItemEvent |
621 |
Класс KeyEvent |
621 |
Класс MouseEvent |
622 |
Класс TextEvent |
624 |
Класс WindowEvent |
624 |
Элементы-источники событий |
625 |
Интерфейсы прослушивания событий |
625 |
Интерфейс ActionListener |
627 |
Интерфейс AdjustmentListener |
627 |
Интерфейс ComponentListener |
627 |
Интерфейс ContainerListener |
627 |
Интерфейс FocusListener |
627 |
Интерфейс ItemListener |
628 |
Интерфейс KeyListener |
628 |
Интерфейс MouseListener |
628 |
Интерфейс MouseMotionListener |
628 |
Интерфейс TextListener |
629 |
Интерфейс WindowListener |
629 |
Использование модели делегирования событий |
629 |
Обработка событий мыши |
630 |
Обработка событий клавиатуры |
633 |
Классы-адаптеры |
636 |
Внутренние классы |
638 |
Анонимные внутренние классы |
640 |
Глава 21. Введение в AWT: работа с окнами, графикой и текстом |
642 |
Классы AWT |
643 |
Основы оконной графики |
645 |
Класс Component |
646 |
Класс Container |
646 |
Класс Panel |
647 |
Класс Window |
647 |
Класс Frame |
647 |
Класс Canvas |
648 |
Работа с фреймовыми окнами |
648 |
Установка размеров окна |
648 |
Скрытие и показ окна |
649 |
Установка заголовка окна |
649 |
Закрытие фрейм-окна |
649 |
Создание фрейм-окна в апплете |
649 |
Обработка событий фрейм-окна |
651 |
Создание оконной программы |
656 |
Отображение информации в окне |
658 |
Работа с графикой |
658 |
Рисование линий |
659 |
Рисование прямоугольников |
660 |
Рисование эллипсов и кругов |
661 |
Рисование дуг |
662 |
Рисование многоугольников |
663 |
Установка размеров графики |
664 |
Работа с цветом |
665 |
Цветовые методы |
665 |
Установка текущего цвета графики |
666 |
Апплет с демонстрацией цветов |
667 |
Установка режима рисования |
668 |
Работа со шрифтами |
670 |
Определение доступных шрифтов |
671 |
Создание и выбор шрифта |
673 |
Получение информации о шрифте |
675 |
Управление текстовым выводом с помощью класса FontMetrics |
676 |
Отображение многострочного текста |
678 |
Выравнивание текста по центру |
680 |
Выравнивание многострочного текста |
681 |
Исследование текста и графики |
685 |
Глава 22. Использование элементов управления, менеджеров |
686 |
компоновки и меню AWT |
|
Элементы управления. Основные понятия |
687 |
Добавление и удаление элементов управления |
687 |
Реагирование на элементы управления |
688 |
Текстовые метки |
688 |
Использование кнопок |
689 |
Обработка кнопок |
690 |
Применение флажков |
693 |
Обработка флажков |
694 |
Класс CheckboxGroup |
695 |
Элемент управления Choice |
697 |
Обработка списков типа Choice |
698 |
Использование списков |
700 |
Обработка списков |
701 |
Управление полосами прокрутки |
703 |
Обработка полос прокрутки |
705 |
Использование класса TextField |
707 |
Обработка TextField |
708 |
Использование TextArea |
709 |
Понятие менеджера компоновки |
711 |
Менеджер FlowLayout |
713 |
Класс BorderLayout |
714 |
Использование вставок |
716 |
Менеджер GridLayout |
718 |
Класс CardLayout |
719 |
Панели меню и меню |
723 |
Диалоговые окна |
729 |
Класс FileDialog |
734 |
Обработка событий путем расширения AWT-компонентов |
736 |
Расширение класса Button |
737 |
Расширение класса Checkbox |
738 |
Расширение группы флажков |
739 |
Расширение класса Choice |
740 |
Расширение класса List |
741 |
Расширение класса Scrollbar |
742 |
Исследование элементов управления, меню и менеджеров компоновки |
743 |
Глава 23. Работа с изображениями |
744 |
Форматы графических файлов |
745 |
Создание, загрузка и просмотр изображений |
745 |
Создание объекта изображения |
745 |
Загрузка изображения |
746 |
Просмотр изображения |
746 |
Интерфейс ImageObserver |
748 |
Пример с ImageObserver |
750 |
Двойная буферизация |
752 |
Класс MediaTracker |
755 |
Интерфейс ImageProducer |
759 |
Производитель изображений MemoryImageSource |
759 |
Интерфейс ImageConsumer |
761 |
Класс PixelGrabber |
761 |
Класс ImageFilter |
764 |
Фильтр CropImageFilter |
765 |
Фильтр RGBImageFilter |
767 |
Анимация ячеек |
779 |
Дополнительные классы изображений Java 2 |
782 |
Глава 24. Дополнительные пакеты |
783 |
Пакеты ядра Java API |
783 |
Отражение |
786 |
Вызов удаленных методов (RMI) |
791 |
Простое RMI-приложение клиент-сервер |
791 |
Текстовое форматирование |
796 |
Класс DateFormat |
796 |
Класс SimpleDateFormat |
798 |
ЧАСТЬ III. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ |
801 |
Глава 25. Компоненты Java Beans |
803 |
Что такое Java Bean-компонент? |
804 |
Преимущества технологии Java Beans |
804 |
Инструментарий построения приложений |
805 |
Комплект разработчика Bean-компонентов |
806 |
Установка BDK |
806 |
Запуск BDK |
806 |
Использование BDK |
807 |
JAR-файлы |
809 |
Файлы описания |
810 |
Утилита jar |
810 |
Интроспекция |
812 |
Проектные шаблоны для свойств |
812 |
Проектные шаблоны для событий |
814 |
Методы |
815 |
Разработка простого Bean-компонента |
815 |
Создание нового Bean-компонента |
816 |
Использование связанных свойств |
819 |
Алгоритм |
820 |
Использование интерфейса BeanInfo |
821 |
Ограниченные свойства |
823 |
Сохраняемость |
823 |
Конфигураторы |
824 |
Java Beans API |
824 |
Будущее Bean-технологии |
827 |
Глава 26. Система Swing |
829 |
Класс JApplet |
830 |
Значки и метки |
831 |
Текстовые поля |
834 |
Кнопки |
834 |
Класс JButton |
834 |
Флажки |
836 |
Переключатели |
838 |
Поля со списком |
840 |
Панели со вкладками |
842 |
Панели прокрутки |
844 |
Деревья |
846 |
Таблицы |
850 |
Другие возможности и будущее Swing-технологии |
852 |
Глава 27. Сервлеты |
854 |
Предпосылки |
854 |
Жизненный цикл сервлета |
855 |
Java Servlet Development Kit |
856 |
Простой сервлет |
857 |
Создание и компиляция исходного кода сервлета |
857 |
Запуск утилиты servletrunner |
858 |
Запуск Web-браузера и запрос сервлета |
858 |
Servlet АРI |
858 |
Пакет javax.servlet |
859 |
Интерфейс Servlet |
860 |
Интерфейс ServletConfig |
861 |
Интерфейс ServletContext |
861 |
Интерфейс ServletRequest |
862 |
Интерфейс ServletResponse |
863 |
Интерфейс SingleThreadModel |
864 |
Класс GenericServlet |
864 |
Класс ServletInputStream |
864 |
Класс ServletOutputStream |
865 |
Класс ServletException |
865 |
Класс UnavailableException |
865 |
Чтение параметров сервлета |
865 |
Чтение параметров инициализации |
867 |
Пакет javax.servlet.http |
869 |
Интерфейс HttpServletRequest |
870 |
Интерфейс HttpServletResponse |
871 |
Интерфейс HttpSession |
873 |
Интерфейс HttpSessionBindingListener |
874 |
Интерфейс HttpSessionContext |
874 |
Класс Cookie |
874 |
Класс HttpServlet |
876 |
Класс HttpSessionBindingEvent |
877 |
Класс HttpUtils |
878 |
Обработка запросов и ответов HTTP |
878 |
Обработка GET-запросов HTTP |
878 |
Обработка POST-запросов HTTP |
880 |
Использование cookie-данных |
881 |
Прослеживание сеанса |
884 |
Проблемы защиты |
885 |
Исследование сервлетов |
886 |
Глава 28. Миграция из C++ в Java |
887 |
Различия между C++ и Java |
887 |
Что Java исключил из C++ |
887 |
Новые свойства, добавленные в Java |
889 |
Отличающиеся свойства |
890 |
Исключение указателей в C++ |
891 |
Преобразование параметров типа указателя |
89? |
Преобразование указателей, работающих на массивах |
894 |
Ссылочные параметры C++ в сравнении со ссылочными параметрами |
896 |
Java |
|
Преобразование абстрактных классов C++ в Java-интерфейсы |
899 |
Преобразование умалчиваемых аргументов |
903 |
Преобразование иерархий множественного наследования C++ |
905 |
Деструкторы в сравнении с методом finalize() |
907 |
ЧАСТЬ IV. ПРИМЕНЕНИЕ JAVA |
911 |
Глава 29. Апплет DynamicBillboard |
913 |
Тег <Applet> |
913 |
Обзор исходного кода |
915 |
DynamicBillboard.java |
915 |
BillData.java |
923 |
BillTransition.java |
925 |
ColumnTransition.java |
927 |
FadeTransition.java |
930 |
SmashTransition.java |
933 |
TearTransition.java |
937 |
UnrollTransition.java |
941 |
Динамический код |
945 |
Глава 30. ImageMenu: Web-меню изображений |
947 |
Исходное изображение |
949 |
Тег <applet> |
950 |
Методы |
951 |
Метод init() |
951 |
Метод update() |
951 |
Метод lateInit() |
951 |
Метод paint() |
951 |
Метод mouseExited() |
952 |
Метод mouseDragged() |
952 |
Метод mouseMoved() |
952 |
Метод mouseReleased() |
953 |
Код |
953 |
Резюме |
955 |
Глава 31. Апплет Lavatron: дисплей для спортивной арены |
956 |
Как работает Lavatron |
956 |
Исходный код |
958 |
Тег <applet> |
958 |
Lavatron.java |
959 |
Класс IntHash |
963 |
Апплет HotLava |
966 |
Глава 32. Scrabblet: многопользовательская игра в слова |
967 |
Вопросы сетевой безопасности |
967 |
Игра |
968 |
Подсчет очков |
971 |
Исходный код |
975 |
Ter <applet> |
975 |
Scrabblet.java |
976 |
IntroCanvas.java |
987 |
Board.java |
989 |
Bag.java |
1005 |
Letter.java |
1007 |
ServerConnection.java |
1012 |
Код сервера |
1017 |
Server.java |
1017 |
ClientConnection.java |
1020 |
Совершенствование Scrabblet |
1025 |
Приложение. Использование документационных комментариев Java |
1027 |
|
Теги javadoc |
|
1027 |
Тег @author |
|
1028 |
Тег @deprecated |
|
1029 |
Тег @exception |
|
1029 |
Тег {@link} |
|
1029 |
Тег @param |
|
1029 |
Тег @return |
|
1029 |
Тег @see |
|
1030 |
Тег serial |
|
1030 |
Тег @serialData |
|
1030 |
Тег @serialField |
|
1030 |
Тег @since |
|
1031 |
Тег @throws |
|
1031 |
Тег @version |
|
1031 |
Общая форма документационного комментария |
1031 |
|
Что выводит javadoc |
|
1032 |
Пример использования документационных комментариев |
1032 |
|
Предметный указатель |
|
1034 |
Предметный указатель |
|
|
A |
appletviewer (программа просмотра |
|
Accessibility API 853 |
апплетов) 588 |
|
Adapter classes 612, 636 |
AWT (Abstract Window Toolkit) 301, |
|
API (Applicatin Programming Interface) |
316,588 |
|
559, 783 |
B |
|
API ядро 783, 301 |
BDK (Bean Developer Kit) 804, 806 |
|
|
Bean-компонент 804 |
|
big-endian (формат коротих целых чисел) 55
C
CGI (Common Gateway Interface) 855 Class members (члены класса) 134 collections framework (структура
коллекций) 413
collection-view (представление в виде коллекции) 415, 438
Convenience routine (подпрограмма удобств) 570
Cookie-элементы 874
CORBA (Common Object Request
Broker Architecture) 27 CPU (Central Processor Unit) 20 D
Daemon thread ("демонический"
поток) 401
Delegation event model (модель делегирования событий) 613
Default access level 173 constructor 150 package 220
DLL (Dynamic Link Library) 324 DNS (Domain Naming Service),
служба доменных имен 552 Drag-and-Drop API 853
E
Endianness 55 escape-последовательности символов,
таблица 62
Event loop with polling 264 F
Factory methods (производственные методы) 554
Finalization, завершение работы с объектом 154
firewall (компьютер межсетевой защиты) 967
G
GMT (Greenwich Mean Time) 490
GUI (Graphical User Interface —
графический интерфейс пользователя) 25, 642
H
HSB (Hue-Saturation-Brightness —
цветовая модель "тон- насыщенность-яркость") 665
HTML (HyperText Markup Language)
теги
<applet> 28, 317, 603, 604 <img> 604
<param> 604 файл 317, 589
HTTP (HyperText Transport Protocol) 854
I
IDL (Interface Defenition Language) 27 image-based menu 947
instance variables (переменные экземпляра) 134
IP (Internet Protocol) 549
ISO (International Standartization Organization) 493
J
JAR (Java ARchive) 26, 809 Java
Internet 16, 17
JAR-файл (архивный файл Java) 809
апплет Java 18, 315
байт-код (bytecode) 19
библиотеки
Java 2D 26
доступности (Accessibility library) 26
ввод/вывод консольный (текстовый) 301
оконный (графический) 301 версия 1.0 (исходная) 24 версия 1.1 24
список добавлений 25 версия 2 24
список добавлений 26
Всемирная Паутина (WWW) 16 единица компиляции (compilation
unit) 38
исключенные свойства C++ 887 исполнительная (run-time) система
20
история создания 15 коллекции 26 межсетевая защита 19
мобильность (переносимость) программ 19
независимость от платформ 17 новые свойства (по сравнению с
C++) 889
приложение Java 18, 315
родной (native) код 20
свойства, различающиеся с C++ 890
связь с языками C и C++ 11 список базовых терминов 21 строгая типизация 52 файл(ы)
исходный (.java) 37
откомпилированный (.class) 38, 39
цели разработки 11 язык свободной формы 48
языки-предшественники 11, 13 Java Beans 25, 787 API 812
Bean-компоненты
ActiveX 828
булевы свойства 813 индексированные свойства 813
конфигуратор (customizer) 824 ограниченные (constrained)
свойства 823 простые свойства 812
связанные свойства (bound properties) 819
сохраняемость (persistence) 823
инструменты
Bridge for ActiveX (мост для ActiveX) 828
Java Beans Migration Assistant for ActiveX 828
интерфейс BeanInfo 821 getEventSetDescriptors() 821 getMethodDescriptors() 821 getPropertyDescriptorsQ 821 интроспекция 812
класс SimpleBeanInfo 821 проектные шаблоны (design
patterns) 812
Java I/O system 302, 501 Java Security Manager 855 Java 2D API 853
java.awt.event (пакет) 612, 637 java.lang (пакет)
интерфейсы
Cloneable 389
Comparable 410 Runnable 399
классы
Class 391-393, 787-789
ClassLoader 394, 395 Compiler 399 Component 589, 632, 633 Container 589
InheritableThreadLocal 407 Math 65, 395
Modifier 789 .
Object 217, 218, 388, 389 Panel 589
Package 408, 409 Process 379 Random 240, 398 Runtime 379—381
Runtime Permission 409 SecurityManager 410 System 384-386
Thread 399-402 ThreadGroup 402-404 Throwable 409
Void 378
оболочки
Boolean 378