JCanvas3D против Canvas3D

Кто-нибудь может рассказать мне о проблемах, с которыми мы сталкиваемся при использовании JCanvas3D вместо Canvas3D?

Как добиться прозрачности с помощью JCanvas3D?

С уважением, харипрасад

Почему в этом посте помечено "mac"? Может быть, вы могли бы добавить немного информации.

Jay R. 20.07.2009 23:37
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
1 588
1

Ответы 1

Единственная ссылка на JCanvas3D, которую я могу найти прямо сейчас, находится в пакете com.sun.j3d.exp.swing. API для этого пакета фактически имеет предупреждение ЭКСПЕРИМЕНТАЛЬНАЯ. При этом на форумах по-прежнему довольно много активности, и похоже, что люди все еще активно работают над кодом.

Отличительной чертой между этими двумя, кажется, является то, что Canvas3D является стандартным «AWT» -подобным тяжеловесным компонентом, а JCanvas3D должен быть его эквивалентом Swing.

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

A transparent scene background is available for all lightweight 3D canvases (JCanvas3Dxyz, FxCanvas3Dxyz). Setting the Java 3D system property "transparentOffScreen" to true (-Dj3d.transparentOffScreen=true or System.setProperty("j3d.transparentOffScreen", "true")) results in an alpha value of '0' for all pixels in the scene background area so that the panel's own background color shows up. When switching its opaque attribute to false the parent panel will be rendered in the scene background area.

This allows - to create a fancy background or - to move the 3D scene content across all panels within a JFrame or - to create layered 3D scenes.

The scene background area within a Canvas3D is always opaque.

-August

Другие вопросы по теме