Jump to content

Собственный интерфейс Java AWT

Собственный интерфейс Java AWT ( JAWT ) — это интерфейс для языка программирования Java , который позволяет отображать рендеринга библиотеки , скомпилированные в собственный код , для рисования непосредственно в наборе инструментов абстрактного окна Java (AWT). Canvas Поверхность рисования объекта .

Java Native Interface (JNI) позволяет разработчикам добавлять в приложения Java функциональные возможности, зависящие от платформы . JNI позволяет разработчикам добавлять критичные по времени операции, такие как математические вычисления и 3D-рендеринг .

Раньше нативный 3D-рендеринг был сложной задачей, поскольку нативный код не имел доступа к графическому контексту. Собственный интерфейс AWT предназначен для предоставления разработчикам доступа к AWT. Canvas для прямого рисования с помощью собственного кода. Фактически, расширение Java 3D API для стандартного Java SE JDK в значительной степени опирается на собственный интерфейс AWT для рендеринга 3D-объектов в Java.

Собственный интерфейс AWT очень похож на JNI, и шаги такие же, как и для JNI. См. статью о собственном интерфейсе Java для объяснения методов JNI, используемых в собственном интерфейсе AWT. Собственный интерфейс AWT был добавлен на платформу Java в версии J2SE 1.3 («Пустельга»).

Действия по собственному интерфейсу AWT

[ редактировать ]

Полный пошаговый пример этой технологии доступен в Wikibooks (см. ссылку ниже).

Подробный пример, демонстрирующий эту технологию, доступен в Wikibooks (см. ссылку ниже).

Для начала создается Java-приложение. В статье объясняется использование собственного интерфейса Java. Нативное ключевое слово и метод loadLibrary() являются неотъемлемыми компонентами, а метод Paint() вызывается, когда поток диспетчеризации событий AWT перерисовывает экран.

После создания приложения Java обычным образом создается заголовочный файл C++. Подробные объяснения можно найти в документации по собственному интерфейсу Java.

Затем реализуется собственный код C++, обычно в файле с именем «NativeSideCanvas.cpp», и компилируется в библиотеку. Дополнительная информация об этом процессе представлена ​​в документации Java Native Interface (JNI).

После создания программы ее можно выполнять как обычно. При запуске файла должно появиться окно, отображающее, например, нарисованный прямоугольник. Подробные инструкции можно найти в документации по собственному интерфейсу Java.

Важно отметить, что собственный интерфейс AWT требует наличия файла «jawt.dll» (или «jawt.so») для запуска вместе с приложением. Самый простой способ обеспечить это — скопировать файл «jawt.dll», который обычно находится в каталоге .../jre/bin в пути установки JDK.

Родная живопись

[ редактировать ]

Можно рисовать так, как будто это родное приложение. В Windows JVM передает HWND и другую информацию об окне собственному приложению, чтобы приложение «знало», где рисовать. Он мог бы использовать GDI для рисования прямоугольника. Информация об окне, необходимая собственной стороне, будет в JAWT_Win32DrawingSurfaceInfo структуру (в зависимости от операционной системы ), которую можно получить с помощью этой строки: dsi_win = (JAWT_Win32DrawingSurfaceInfo*)dsi->platformInfo;

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 75b8f98c2c084b81c6bbaf4d7944f987__1719065400
URL1:https://arc.ask3.ru/arc/aa/75/87/75b8f98c2c084b81c6bbaf4d7944f987.html
Заголовок, (Title) документа по адресу, URL1:
Java AWT Native Interface - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)