Да, этот вопрос везде.Но все (рабочие) решения используют набор инструментов AWTUtilities, который ограничен.
Итак.Я просто хочу контролировать прозрачность моего окна.Не нужно придавать форму или не украшать.Просто прозрачная панель содержимого (легкая) и прозрачный фон JFrame (смехотворно трудный).
Я мог бы поклясться, что вчера получил правильную комбинацию вещей, но теперь я не могу воспроизвести ее.Также есть некоторые решения без использования AWTUtilities, но они не работают ... У кого-нибудь есть хорошее решение?
Пример моего ошибочного кода:
public static void main(String[] args) {
JFrame test = new JFrame();
test.setSize(400, 400);
test.setLocationRelativeTo(null);
test.setUndecorated(true);
test.setBackground(new Color(0, 0, 0, 0));
test.getContentPane().setBackground(new Color(0,0,0,0));
test.setVisible(true);
}
, ноэто просто делает белый квадрат.Близко, но не сигара.Я также попытался переопределить метод рисования, и кто-то говорил что-то о выбросе альфа-канала, но это сделало его черным (конечно).Итак ... Это переполнение стека.
Если есть дупель, который точно отвечает на этот вопрос, пожалуйста, укажите мне, и я немедленно удалю.
Обновление Согласно запросам в комментариях, вот история того, как я сюда попал:
Первая ссылка, на которую все приходят, это как создавать полупрозрачные и фасонные окна. Здесь есть несколько строк, похожих на "... рамка прозрачная с уровнем непрозрачности 75%. "Итак ... похоже, что они определены одинаково, по крайней мере, в этой статье.К сожалению, они используют библиотеку.
Несколько ссылок, которые я мог бы найти:
Неработающее "рабочее" решение сообщается по адресу http://www.java -gaming.org / index.php? topic = 24635.0 , которая показывает некоторую надежду, но я не мог заставить ее работать.
http://techgearup.wordpress.com/2008/09/19/transparent-jframe-background/ - это хакерский способ, использующий скриншоты и дублированный в нескольких других местах.