Прозрачный компонент AWT, возможно? - PullRequest
1 голос
/ 15 февраля 2012

Мне нужен полупрозрачный AWT компонент / контейнер для размещения поверх других компонентов для получения событий мыши.

Проблема здесь в том, чтобы создать полупрозрачный компонент. Мои исследования показали, что у Swing есть возможность сделать setOpaque(false), например, JPanel. Есть ли что-то похожее на AWT?

Идея состоит в том, чтобы сделать ScrollPane прокручиваемым, просто щелкая где-нибудь и перемещая мышь. Вот почему мне нужен прозрачный компонент, чтобы разместить его над всеми другими компонентами.

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

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

AFAIK невозможен правильно для доисторического AWT Container and Components Вы можете попробовать это с изменением этот код с Swing на AWT , Прозрачность поддерживается только для Swing JComponents

0 голосов
/ 16 февраля 2012

Проект JNA предоставляет некоторые утилиты для создания прозрачных компонентов AWT. Существует WebStart демо функциональности. Утилиты прозрачности окна находятся в platform.jar, который дополняет базовый jna.jar.

Однако, если все, что вы хотите сделать, это перехватывать события мыши, вам следует изучить различные слои, которые уже встроены в JFrame. Компонент уже имеет концепцию слоев через JLayeredPane, и вы можете довольно легко использовать JPanel в качестве стеклянной панели, которая расположена над всеми другими компонентами для фильтрации событий.

...