2010-05-31 6 views
0

У меня проблема. В LayeredPane у меня есть 2 компонента: тяжеловесный копонент и JComponent (или любой другой, что я мог бы нарисовать в тексте), который помещен над первым. Я хотел бы, чтобы JComponent имел прозрачный фон, но на нем был черный фон. Тяжеловесный компонент представляет собой компонент, который отображает видео, а JComponent - компонент, который я рисую. Этот текст должен быть напечатан с прозрачным фоном.Transarent background over heavyweight

Я попытался использовать GlassPane, но содержание стекла в стекле было показано над легкими компонентами и ниже тяжеловесного компонента.

Есть ли возможность нарисовать текст над суперкомпоном (холст)?

пс. Я не могу перегрузить метод paint, потому что получил объект класса HeavyComponent, который является подклассом Canvas.

+1

Вам действительно нужен «HeavyComponent»? почему бы не перейти от «JPanel»? – Jonas

+1

Кроме того, «тяжелый [компонент] всегда непрозрачен». -http: //java.sun.com/products/jfc/tsc/articles/mixing/ – trashgod

+0

Перекресток: http://www.java-forums.org /awt-swing/29372-transarent-background-over-heavyweight-components.html и http://forums.sun.com/thread.jspa?threadID=5440791&tstart=0 – camickr

ответ

0

Тяжелый компонент обычно окрашивает легкие компоненты.

JMF довольно старый. Изучите некоторые из новых альтернатив. См. Раздел «Альтернативы» по адресу http://en.wikipedia.org/wiki/Java_Media_Framework