Java-Как уменьшить непрозрачность оформленного JFrame в Java? - PullRequest
0 голосов
/ 26 января 2019

Я пытаюсь изменить непрозрачность JFrame, но не устанавливаю его Undecorated, потому что он удаляет его Tilte Bar.

Я пробовал это: -

JFrame subFrame = new JFrame();
subFrame.setBounds(0, 0, 500, 500);
subFrame.setVisible(true);
subFrame.setOpacity(0.80f);

Но выдает ошибку: -

Exception in thread "main" java.awt.IllegalComponentStateException: The frame is decorated
at java.awt.Frame.setOpacity(Unknown Source)
at TransparentFrame.main(TransparentFrame.java:26)

Пожалуйста, помогите мне !!!!!!!!!

1 Ответ

0 голосов
/ 26 января 2019

В javaDocs четко сказано, что JFrame должен быть неокрашен, чтобы использовать метод setOpacity ().К сожалению, это невозможно.По крайней мере, не так, как вы это делаете.Вы можете использовать следующий (не совсем чистый) обходной путь:

JFrame.setDefaultLookAndFeelDecorated(true); //Before you create the JFrame.
UIManager.setLookAndFeel(new MetalLookAndFeel());

Затем создайте свой экземпляр JFrame.

...