2010-02-17 3 views
2

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

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

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

Может кто-то, пожалуйста, помогите мне с этим - заблаговременно.

ответ

2

Mixing Light and Heavyweight Components статья объясняет, как это обрабатывается только в самой последней версии JDK.

+0

Большое вам спасибо - он работал именно так - используя два JInternalFrames ... – Gambrinus

1

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

Java API JFrame

GlassPane examples

+0

yes - Я пробовал это, но, к сожалению, это не сработало. Я также попробовал JLayeredPane, но показал тот же результат. – Gambrinus

0

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

0

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