Java 7 - Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др. Дано подробное изложение последней версии сервлетов, технологии JSP и библиотек тегов JSTL. Около двухсот законченных программ иллюстрируют рассмотренные приемы программирования. Приведена подробная справочная информация о классах и методах Core Java API.
Название: Java 7 Автор: Хабибуллин И. Ш. Издательство: БХВ-Петербург Год: 2012 Страниц: 759 Формат: PDF Размер: 13,4 МБ ISBN: 978-5-9775-0735-6 Качество: Отличное Серия или Выпуск: В подлиннике
Содержание:
Введение Что такое Java? Структура книги Выполнение Java-программы Что такое JDK? Что такое JRE? Как установить JDK? Как использовать JDK? Интегрированные среды Java Особая позиция Microsoft Java в Интернете Литература по Java Благодарности Часть I. Базовые конструкции языка Java Глава 1. Встроенные типы данных, операции над ними Первая программа на Java Комментарии Аннотации Константы Целые Действительные Символы Строки Имена Примитивные типы данных и операции Логический тип Логические операции Упражнения Целые типы Операции над целыми типами Арифметические операции Приведение типов Операции сравнения Побитовые операции Сдвиги Упражнения Вещественные типы Операции присваивания Упражнения Условная операция Упражнения Выражения Приоритет операций Операторы Блок Операторы присваивания Условный оператор Упражнения Операторы цикла Оператор continue и метки Оператор break Упражнения Оператор варианта Массивы Многомерные массивы Заключение Вопросы для самопроверки Глава 2. Объектно-ориентированное программирование в Java Парадигмы программирования Принципы объектно-ориентированного программирования Абстракция Иерархия Ответственность Модульность Принцип KISS Упражнения Как описать класс и подкласс? Передача аргументов в метод Перегрузка методов Переопределение методов Реализация полиморфизма в Java Упражнения Абстрактные методы и классы Окончательные члены и классы Класс Object Конструкторы класса Операция new Упражнение Статические члены класса Класс Complex Метод main () Методы с переменным числом аргументов Где видны переменные Вложенные классы Отношения «быть частью» и «являться» Заключение Вопросы для самопроверки Глава 3. Пакеты, интерфейсы и перечисления Пакет и подпакет Права доступа к членам класса Размещение пакетов по файлам Импорт классов и пакетов Java-файлы Интерфейсы Перечисления Объявление аннотаций Design patterns Схема проектирования MVC Шаблон Singleton Заключение Вопросы для самопроверки Часть II. Использование классов из Java API Глава 4. Классы-оболочки и generics Числовые классы Автоматическая упаковка и распаковка типов Настраиваемые типы (generics) Шаблон типа (wildcard type) Настраиваемые методы Класс Boolean Класс Character Класс BigInteger Класс BigDecimal Класс Class Вопросы для самопроверки Глава 5. Работа со строками Класс String Как создать строку Упражнение Сцепление строк Как узнать длину строки Как выбрать символы из строки Как выбрать подстроку Как разбить строку на подстроки Как сравнить строки Как найти символ в строке Как найти подстроку Как изменить регистр букв Как заменить отдельный символ Как заменить подстроку Как убрать пробелы в начале и конце строки Как преобразовать в строку данные другого типа Упражнения Класс StringBuilder Конструкторы Как добавить подстроку Как вставить подстроку Как удалить подстроку Как удалить символ Как заменить подстроку Как перевернуть строку Синтаксический разбор строки Класс StringTokenizer Заключение Вопросы для самопроверки Глава 6. Классы-коллекции Класс Vector Как создать вектор Как добавить элемент в вектор Как заменить элемент Как узнать размер вектора Как обратиться к элементу вектора Как узнать, есть ли элемент в векторе Как узнать индекс элемента Как удалить элементы Класс Stack Класс Hashtable Как создать таблицу Hashtable Как заполнить таблицу Hashtable Как получить значение по ключу Как узнать наличие ключа или значения Как получить все элементы таблицы Hashtable Как удалить элементы Класс Properties Интерфейс Collection Интерфейс List Интерфейс Set Интерфейс SortedSet Интерфейс NavigableSet Интерфейс Queue Интерфейс BlockingQueue Интерфейс Deque Интерфейс BlockingDeque Интерфейс Map Вложенный интерфейс Map. Entry Интерфейс SortedMap Интерфейс NavigableMap Абстрактные классы-коллекции Интерфейс Iterator Интерфейс ListIterator Классы, создающие списки Двунаправленный список Дек Упражнение Классы, создающие отображения Связанные отображения Упорядоченные отображения Сравнение элементов коллекций Упражнение Классы, создающие множества Связанные множества Упорядоченные множества Действия с коллекциями Методы класса Collections Упражнение Заключение Вопросы для самопроверки Глава 7. Классы-утилиты Работа с массивами Сортировка массива Бинарный поиск в массиве Заполнение массива Копирование массива Сравнение массивов Представление массива строкой Получение хеш-кода массива Локальные установки Работа с датами и временем Часовой пояс и летнее время Класс Calendar Подкласс GregorianCalendar Представление даты и времени Получение случайных чисел Копирование массивов Взаимодействие с системой Часть III. Создание графического интерфейса пользователя и апплетов Глава 8. Принципы построения графического интерфейса Компонент и контейнер Иерархия классов AWT Окно библиотеки Swing Использование системных приложений System Tray Splash Screen Заключение Вопросы для самопроверки Глава 9. Графические примитивы Методы класса Graphics Как задать цвет Упражнение Как нарисовать чертеж Класс Polygon Упражнение Прочие методы класса Graphics Как вывести текст Как установить шрифт Как задать шрифт Класс FontMetrics Упражнение Возможности Java 2D Преобразование координат Класс AffineTransform Упражнение Рисование фигур средствами Java 2D Класс BasicStroke Класс GeneralPath Классы GradientPaint и TexturePaint Классы LinearGradientPaint и RadialGradientPaint Вывод текста средствами Java 2D Методы улучшения визуализации Упражнение Заключение Вопросы для самопроверки Глава 10. Основные компоненты AWT Класс Component Класс Cursor Как создать свой курсор Упражнение События Класс Container События Текстовая метка Label События Кнопка Button События Кнопка выбора Checkbox События Класс CheckboxGroup Как создать группу радиокнопок Раскрывающийся список Choice События Список List События Компоненты для ввода текста Класс TextComponent События Строка ввода TextField События Поле ввода TextArea События Линейка прокрутки Scrollbar События Контейнер Panel Контейнер ScrollPane Контейнер Window События Контейнер Frame События Контейнер Dialog События Контейнер FileDialog События Создание собственных компонентов Компонент Canvas Создание «легкого» компонента Упражнение Создание меню Всплывающее меню Вопросы для самопроверки Глава 11. Оформление ГИП компонентами Swing Состав библиотеки Swing Основные компоненты Swing Компонент JComponent Схема MVC в компонентах Swing Надпись JLabel Кнопки Кнопка JButton Кнопка выбора JToggleButton Кнопка выбора JCheckBox Радиокнопка JRadioButton Упражнение Раскрывающийся список JComboBox Список выбора JList Визуализация элементов списков Упражнение Счетчик JSpinner Полосы прокрутки JScrollBar Ползунок JSlider Упражнение Индикатор JProgressBar Дерево объектов JTree Построение меню средствами Swing Строка меню JMenuBar Меню JMenu Пункт меню JMenuItem Всплывающее меню JPopupMenu Панель выбора цвета JColorChooser Упражнение Окно выбора файла JFileChooser Фильтр файлов FileFilter Как получить выбранный файл Дополнительный компонент Замена изображений Русификация Swing Вопросы для самопроверки Глава 12. Текстовые компоненты Компонент JTextComponent Модель данных - документ Строка символов Segment Запись текста в документ Атрибуты текста Удаление текста из документа Фильтрация документа Внесение структуры в документ События в документе Реализации документа Установка модели данных Вид Контроллер - редактор текста Курсор Ограничение перемещения курсора Реализации редактора Раскладка клавиатуры Печать текста документа Поле ввода JTextField Поле ввода пароля JPasswordField Редактор объектов JFormattedTextField Область ввода JTextArea Текстовый редактор JEditorPane Редактор JTextPane Вопросы для самопроверки Глава 13. Таблицы Класс JTable Модель данных таблицы Модель ячеек таблицы Свойства столбца таблицы TableColumn Модель столбцов таблицы Заголовки столбцов таблицы JTableHeader Модель выделения ячеек Визуализация ячеек таблицы Редактор ячеек таблицы Сортировка строк таблицы Фильтрация строк таблицы Печать таблицы Вопросы для самопроверки Глава 14. Размещение компонентов и контейнеры Swing Менеджер FlowLayout Менеджер BorderLayout Менеджер GridLayout Менеджер CardLayout Менеджер GridBagLayout Контейнеры Swing Панель JPanel Панель прокрутки JScrollPane Двойная панель JSplitPane Панель с вкладками JTabbedPane Линейная панель Box Менеджер размещения BoxLayout Компоненты-заполнители Менеджер размещения SpringLayout Размеры Spring Промежутки Constraints Размещение компонентов Панель инструментальных кнопок JToolBar Интерфейс Action Слоеная панель JLayeredPane Корневая панель JRootPane Окно JWindow Диалоговое окно JDialog Окно верхнего уровня JFrame Внутреннее окно JInternalFrame Рабочий стол JDesktopPane Стандартные диалоги JOptionPane Окно с индикатором ProgressMonitor Заключение Вопросы для самопроверки Глава 15. Обработка событий Самообработка событий Обработка вложенным классом Упражнение Событие ActionEvent Обработка действий мыши Упражнение Классы-адаптеры Управление колесиком мыши Обработка действий клавиатуры Упражнение Событие TextEvent Событие изменения ChangeEvent Обработка действий с окном Событие ComponentEvent Событие ContainerEvent Cобытие FocusEvent Событие ItemEvent Событие AdjustmentEvent Несколько слушателей одного источника Диспетчеризация событий Создание собственного события Вопросы для самопроверки Глава 16. Оформление рамок Пустая рамка EmptyBorder Прямолинейная рамка LineBorder Объемная рамка BevelBorder Закругленная объемная рамка SoftBevelBorder Врезанная рамка EtchedBorder Рамка с изображением MatteBorder Рамки с надписями TitledBorder Сдвоенные рамки CompoundBorder Создание собственных рамок Вопросы для самопроверки Глава 17. Изменение внешнего вида компонента Получение свойств L&F Задание стандартного L&F Дополнительные L&F Смена всего L&F Замена отдельных свойств L&F Темы Java L&F Вопросы для самопроверки Глава 18. Апплеты Упражнения Передача параметров в апплет Атрибуты тега <applet> Сведения об окружении апплета Упражнение Изображение и звук в апплетах Слежение за процессом загрузки Класс MediaTracker Упражнения Защита от апплета Апплеты в библиотеке Swing Апплет JApplet Упражнение Заключение Вопросы для самопроверки Глава 19. Прочие свойства Swing Свойства экземпляра компонента Прокрутка содержимого компонента Передача фокуса ввода Перенос данных Drag and Drop Временная задержка Timer Глава 20. Изображения и звук Модель «поставщик-потребитель» Классы-фильтры Как выделить фрагмент изображения Как изменить цвет изображения Как переставить пикселы изображения Упражнения Модель обработки прямым доступом Преобразование изображения в Java 2D Аффинное преобразование изображения Изменение интенсивности изображения Изменение составляющих цвета Создание различных эффектов Упражнения Анимация Улучшение изображения двойной буферизацией Упражнения Звук Проигрывание звука в Java Синтез и запись звука в Java Упражнение Вопросы для самопроверки Часть IV. Необходимые конструкции Java Глава 21. Обработка исключительных ситуаций Блоки перехвата исключения Упражнения Часть заголовка метода throws Оператор throw Обработка нескольких типов исключений с помощью иерархии Иерархия классов-исключений Порядок обработки исключений Упражнение Обработка нескольких типов исключений с помощью перечисления Создание собственных исключений Заключение Вопросы для самопроверки Глава 22. Подпроцессы Класс Thread Синхронизация подпроцессов Согласование работы нескольких подпроцессов Приоритеты подпроцессов Подпроцессы-демоны Группы подпроцессов Заключение Вопросы для самопроверки Глава 23. Потоки ввода/вывода и печать Консольный ввод/вывод Форматированный вывод Спецификации вывода целых чисел Спецификации вывода вещественных чисел Спецификация вывода символов Спецификации вывода строк Спецификации вывода логических значений Спецификации вывода хеш-кода объекта Спецификации вывода даты и времени Класс Console Упражнения Файловый ввод/вывод Получение свойств файла Работа с файлом средствами NIO2 Буферизованный ввод/вывод Каналы буферизованного ввода/вывода Упражнения Поток простых типов Java Кодировка UTF-8 Класс DataOutputStream Прямой доступ к файлу Упражнение Каналы обмена информацией Сериализация объектов Печать в Java Печать средствами Java 2D Печать файла Печать страниц с разными параметрами Вопросы для самопроверки Глава 24. Сетевые средства Java Работа в WWW Упражнения Работа по протоколу TCP Работа с proxy-сервером Упражнения Работа по протоколу UDP Упражнение Вопросы для самопроверки Часть V. WEB-технологии Java Глава 25. Web-инструменты Java Архиватор jar Создание архива Файл описания MANIFEST.MF Файл INDEX.LIST Компоненты JavaBeans Связь с базами данных через JDBC Вопросы для самопроверки Глава 26. Сервлеты Web-приложение Интерфейс Servlet Конфигурационный файл Интерфейс ServletConfig Контекст сервлета Метод Service Интерфейс ServletRequest Интерфейс ServletResponse Цикл работы сервлета Класс GenericServlet Работа по протоколу HTTP Интерфейс HttpServletRequest Интерфейс HttpServletResponse Класс HttpServlet Аннотации сервлета Пример сервлета класса HttpServlet Сеанс связи с сервлетом Фильтры Обращение к другим ресурсам Асинхронное выполнение запросов Вопросы для самопроверки Глава 27. Страницы JSP Стандартные действия (теги) JSP Язык записи выражений EL Встроенные объекты JSP Обращение к компоненту JavaBean Выполнение апплета в браузере клиента Передача управления Пользовательские теги Класс-обработчик пользовательского тега Пользовательский тег с атрибутами Пользовательский тег с телом Обработка тела пользовательского тега Обработка взаимодействующих тегов Обработка исключений в пользовательских тегах Обработка тегов средствами JSP Стандартные библиотеки тегов JSTL Библиотека core Библиотека xml Библиотека fmt Библиотека sql Библиотека fn Frameworks JavaServer Faces Вопросы для самопроверки Глава 28. Связь Java с технологией XML Описание DTD Пространства имен XML Схема XML Встроенные простые типы XSD Вещественные числа Целые числа Строки символов Дата и время Двоичные типы Прочие встроенные простые типы Определение простых типов Сужение Список Объединение Описание элементов и их атрибутов Определение сложных типов Определение типа пустого элемента Определение типа элемента с простым телом Определение типа вложенных элементов Определение типа со сложным телом Пример: схема адресной книги Безымянные типы Пространства имен языка XSD Включение файлов схемы в другую схему Связь документа XML со своей схемой Другие языки описания схем Инструкции по обработке Анализ документа XML Анализ документов XML с помощью SAX2 Анализ документов XML с помощью StAX Связывание данных XML с объектами Java Объекты данных JDO Анализ документов XML с помощью DOM API Интерфейс Node Интерфейс Document Интерфейс Element Другие DOM-парсеры Преобразование дерева объектов в XML Таблицы стилей XSL Преобразование документа XML в HTML Вопросы для самопроверки Список литературы Предметный указатель