Вопрос

Недавно я прочитал записи в блоге о Pushing Pixels, в которых описывается, как добиться собственной прозрачности и полупрозрачности с помощью чистой Java.Необходимые классы находятся на com.sun.awt, а именно com.sun.awt.AWTUtilities.

Мне было интересно, как я мог бы включить необходимые классы (не только этот) в свой дистрибутив, поскольку классы доступны только тогда, когда у вас установлен jdk и вы запускаете jvm через него.Таким образом, у пользователей моей программы не будет необходимых классов для запуска моей программы.

Есть какие-нибудь идеи?

Это было полезно?

Решение

AWTUtilities, как следует из пакета, является пакетом реализации и может быть изменен.Я не думаю, что это хорошая идея распространять класс как с технической, так и с юридической точек зрения.

Технически, com.sun.awt.AWTUtlities должен иметь, возможно, неизвестные зависимости от других классов и внутренних деталей реализации, специфичных для Java 6 u10 и выше (релиз, в котором она появилась).Это неизвестная зависимость angle неизбежно выдержит критику, поскольку рисование и графика также потребуют изменений в некоторых собственных реализациях.

Во-вторых, это обязательно изменится в Java 7, поскольку единственный релиз Sun, который не выпустил java.awt.AWTUtilities с поддержкой прозрачности, заключается в том, что они не вносят изменений в общедоступные API, за исключением основных выпусков.

Я понимаю, но я не думаю, что разумно заниматься распространением программного обеспечения, не побывав у юриста.Кроме того, клиентам не нравится идея развертывания какого-либо программного обеспечения в их системах без поддержки.

Обновить

Все JRE Sun (не только JDK) начиная с 6u10 поставляются с com.sun.awt.AWTUtilities, поэтому самым простым способом действий было бы установить для ваших пользователей Java 6u10 или более позднюю версию в своих системах, а для вашего приложения - корректно обрабатывать любое возникающее исключение.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top