Books-Lib.com » Читать книги » Разная литература » Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин

Читать книгу - "Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин"

Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин - Читать книги онлайн | Слушать аудиокниги онлайн | Электронная библиотека books-lib.com

Открой для себя врата в удивительный мир Читать книги / Разная литература книг на сайте books-lib.com! Здесь, в самой лучшей библиотеке мира, ты найдешь сокровища слова и истории, которые творят чудеса. Возьми свой любимый гаджет (Смартфоны, Планшеты, Ноутбуки, Компьютеры, Электронные книги (e-book readers), Другие поддерживаемые устройства) и погрузись в магию чтения книги 'Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин' автора Тимур Сергеевич Машнин прямо сейчас – дарим тебе возможность читать онлайн бесплатно и неограниченно!

153 0 11:53, 18-01-2023
Автор:Тимур Сергеевич Машнин Жанр:Читать книги / Разная литература Поделиться: Возрастные ограничения:(18+) Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту для удаления материала.
0 0

Аннотация к книге "Графические интерфейсы пользователя Java - Тимур Сергеевич Машнин", которую можно читать онлайн бесплатно без регистрации

Эта книга для тех, кто уже знаком с языком программирования Java и хотел бы научиться разрабатывать настольные приложения Java с графическим интерфейсом пользователя.С этой книгой Вы познакомитесь с такими Java библиотеками графического интерфейса пользователя, как AWT, Swing, SWT/JFace и JavaFX.

1 ... 24 25 26 27 28 29 30 31 32 ... 59
Перейти на страницу:
в этом классе и его поддерживающих классах.

Большинство компонентов снабжены обработчиком передачи TransferHandler по умолчанию.

Вы можете создать и установить свой собственный обработчик переноса для любого компонента.

В этом примере показана реализация переноса данных для метки, которая не имеет этой функциональности по умолчанию.

Здесь мы создаем объект TransferHandler с помощью конструктора, в котором указываем Java Bean свойство компонента, используемое для переноса данных.

Помним, что Swing компоненты является Java Bean компонентами и их свойства можно получить с помощью интерфейса Java Bean API, а именно класса BeanInfo.

Здесь используется свойство text метки.

Установкой объекта TransferHandler для метки мы включаем перенос текста в метку.

Для включения переноса текста из метки, мы присоединяем слушателя событий мыши к метке, и в обработчике нажатия клавиши мыши на источнике данных, в данном случае это метка, мы применяем к объекту TransferHandler метод exportAsDrag, который переносит данные из источника данных.

Создание собственного Swing компонента

Мы уже создавали собственный AWT компонент, расширяя класс Component и переопределяя его метод paint.

Для создания собственного Swing компонента нужно расширить класс JComponent, переопределив его метод paintComponent.

Метод paintComponent – это место, где должен быть размещен весь код рисования компонента.

Этот метод будет вызываться операционной системой всякий раз, когда нужно визуализировать компонент.

Но на самом деле рисование компонента начинается выше в иерархии классов вызовом метода paint AWT класса Component.

Далее метод paint вызывает поочередно методы paintComponent, paintBorder и paintChildren класса JComponent.

Как уже было сказано, большинство стандартных компонентов Swing имеют внешний вид, реализованный отдельными делегатами пользовательского интерфейса.

Это означает, что рисование стандартных компонентов Swing происходит следующим образом.

Метод paint вызывает paintComponent.

Если свойство ui не равно null, то есть для компонента есть делегат, мето paintComponent вызывает метод ui. update.

Если свойство компонента opaque истинно, метод ui. update заполняет фон компонента цветом и вызывает метод ui.paint.

Метод ui.paint отображает содержимое компонента.

Поэтому если мы создаем собственный компонент, расширяя конкретный Swing компонент, в методе paintComponent нужно вызвать этот метод суперкласса, чтобы сначала отрисовался делегат.

Другой способ декорировать существующий Swing компонент – это использовать компонент JLayer.

JLayer – это универсальный декоратор для компонентов Swing, который позволяет реализовывать различные расширенные эффекты рисования, а также получать уведомления обо всех AWT событиях.

Компонент JLayer делегирует рисование и обработку входных событий объекту LayerUI.

То есть компонент JLayer служит оберткой вокруг существующего Swing компонента, передавая функциональность рисования и обработки событий объекту LayerUI.

Таким образом, для рисования на существующем Swing компоненте, нужно создать класс, расширяющий класс LayerUI, и реализующий его метод paint.

Затем нужно создать компонент JLayer на основе существующего Swing компонента и объекта LayerUI.

Краткий обзор платформы JavaFX

JavaFX была создана как универсальная платформа, предоставляющая современные GUI-компоненты с возможностью их декларативного описания, богатый набор библиотек для работы с медиаконтентом и 2D/3D графикой, а также высокопроизводительную среду выполнения приложений.

Look and feel JavaFX интерфейса изменяется не с помощью делегатов, как в Swing, а с помощью CSS таблиц, тем самым разделяя внешний вид от кода.

Кроме того, вы можете разрабатывать внешний вид интерфейса не на языке Java, а на скриптовом языке FXML, а Java-код использовать для логики приложения.

Для визуальной разработки интерфейса вы можете использовать редактор JavaFX Scene Builder, который генерирует FXML разметку.

Для начала мы кратко пробежимся по тому объему знаний, который мы затем будем разбирать шаг за шагом.

Компоненты графического интерфейса пользователя платформы JavaFX представлены такими пакетами JavaFX API как

scene.control,

scene.chart,

scene.image,

scene.layout,

scene.media,

scene.shape,

scene.canvas,

scene. text,

scene. web и

stage.

Все компоненты GUI-интерфейса являются объектами Node узлов графа сцены и характеризуются идентификатором, CSS-стилем, границами, визуальными эффектами, прозрачностью, трансформациями, обработчиками событий, состоянием, режимом наложения и участием в анимации.

Пакет scene.control предоставляет такие компоненты графического интерфейса пользователя как панель Accordion, кнопку Button, переключатель CheckBox, список ChoiceBox, выбор цвета ColorPicker, выпадающий список ComboBox, выбор даты DatePicker, контекстное меню ContextMenu, гиперссылку Hyperlink, метку Label, список ListView, меню Menu, панель MenuBar, кнопку MenuButton, постраничную навигацию Pagination, поле PasswordField, индикатор ProgressBar, индикатор ProgressIndicator, переключатель RadioButton, панель ScrollPane, прокрутку ScrollBar, разделитель Separator, бегунок Slider, кнопку SplitMenuButton, панель SplitPane, таблицу TableView, панель TabPane, поле TextArea, поле TextField, панель TitledPane, кнопку ToggleButton, группу ToggleGroup, панель ToolBar, окно Tooltip, таблицу TreeTableView, дерево TreeView.

Пакет scene.chart обеспечивает создание диаграмм AreaChart, BarChart, BubbleChart, LineChart, PieChart, ScatterChart, StackedAreaChart, StackedBarChart.

Пакет scene.image предоставляет компоненты изображения ImageView и WritableImage.

Пакет scene.layout предоставляет панели компоновки AnchorPane, BorderPane, FlowPane, GridPane, HBox, StackPane, TilePane, VBox.

Пакет scene.media предоставляет компоненты медиаконтента MediaView и аудиоконтента AudioClip.

Пакет scene.shape обеспечивает рисование 2D геометрических форм с помощью таких компонентов как Arc, Circle, CubicCurve, Ellipse, Line, Path, Polygon, Polyline, QuadCurve, Rectangle, SVGPath, а также 3D графики с помощью таких GUI-компонентов как Box, Cylinder, MeshView, Sphere.

Пакет scene.canvas позволяет с помощью классов Canvas и GraphicsContext создавать изображения 2D-графики из простых геометрических форм, из существующих изображений и текста.

Пакет scene. text предоставляет компоненты текста Text и TextFlow.

Пакет scene. web обеспечивает отображение HTML-контента с помощью компонента WebView и редактирование HTML-контента с помощью компонента HTMLEditor.

Пакет scene предоставляет группу Group и сцену Scene, а также камеры ParallelCamera и PerspectiveCamera и источники света AmbientLight и PointLight.

Пакет stage предоставляет компоненты окон Stage, Popup, DirectoryChooser и FileChooser.

Пакеты embed. swing и embed. swt обеспечивают встраивание JavaFX компонентов в Swing (и наоборот) и SWT приложения.

Пакет css позволяет определять пользовательские свойства и CSS псевдо классы для компонентов.

Пакет print обеспечивает печать узла графа JavaFX сцены.

Пакет fxml обеспечивает декларативное XML описание GUI-компонентов.

Пакет scene. effect позволяет присоединять к GUI-компонентам визуальные эффекты смешивания, свечения, тени, размытия, цвета, смещения, освещения, перспективы, отражения, старения.

Пакет animation позволяет добавлять трансформации и анимации для GUI-компонентов.

Отображение 2D графики в JavaFX-приложениях возможно тремя способами:

1 ... 24 25 26 27 28 29 30 31 32 ... 59
Перейти на страницу:
Отзывы - 0

Прочитали книгу? Предлагаем вам поделится своим впечатлением! Ваш отзыв будет полезен читателям, которые еще только собираются познакомиться с произведением.


Новые отзывы

  1. Гость Елена Гость Елена12 июнь 19:12 Потрясающий роман , очень интересно. Обожаю Анну Джейн спасибо 💗 Поклонник - Анна Джейн
  2. Гость Гость24 май 20:12 Супер! Читайте, не пожалеете Правила нежных предательств - Инга Максимовская
  3. Гость Наталья Гость Наталья21 май 03:36 Талантливо и интересно написано. И сюжет не банальный, и слог отличный. А самое главное -любовная линия без слащавости и тошнотного романтизма. Вторая попытка леди Тейл 2 - Мстислава Черная
  4. Гость Владимир Гость Владимир23 март 20:08 Динамичный и захватывающий военный роман, который мастерски сочетает драматизм событий и напряжённые боевые сцены, погружая в атмосферу героизма и мужества. Боевой сплав - Сергей Иванович Зверев
Все комметарии: