Добавьте прозрачный JPanel на компонент AWT, чтобы рисовать на - PullRequest
2 голосов
/ 17 февраля 2010

У меня проблема: в моем Java-приложении есть компонент AWT (который не может его изменить), который транслирует и показывает avi-файл. Теперь я хочу нарисовать этот фильм и подумать о том, чтобы поместить над ним прозрачную JPanel и нарисовать ее.

Это не работает, так как я вижу или avi-stream, или нарисованные линии, но не оба.

Я где-то читал, что AWT не поддерживает прозрачность компонентов - но панель - это JPanel, которая может это сделать.

Может кто-нибудь помочь мне с этим - заранее спасибо.

Ответы [ 4 ]

2 голосов
/ 17 февраля 2010

В статье Смешивание легких и тяжеловесных компонентов объясняется, как это обрабатывается только в самой последней версии JDK.

1 голос
/ 17 февраля 2010

вы пробовали GlassPane, так как я думаю, что это именно тот случай использования. что-то вроде JFrame.setGlassPane (), если я правильно помню. проверьте здесь:

Java API JFrame

Примеры GlassPane

0 голосов
/ 28 марта 2013

Попробуйте запустить Stream и Drawing в отдельном потоке. Я думаю, что это может помочь

0 голосов
/ 21 марта 2010

Я искал тяжеловесный компонент, который мог бы помочь мне, но я не нашел его, и что касается внутренних кадров, я не знаю, как вам удалось установить непрозрачность 50. Все, что я нашел о настройке непрозрачности, было метод setOpaque (логическое значение), и это мне совсем не помогает. Не могли бы вы объяснить, как вы установили непрозрачность? Это либо моя последняя альтернатива, либо мне придется изменить весь проект.

...