Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Books / Java_2._polnoe_rukovodstvo

.pdf
Скачиваний:
99
Добавлен:
14.10.2016
Размер:
47.97 Mб
Скачать

Производственные методы

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

Соседние файлы в папке Books