Как развернуть фрейм на ВЕСЬ экран? - Java
Формулировка задачи:
Мне нужна команда в слушатель, которая при максимизации фрейма делает его полноэкранным, setUndecorated(true);
Однако, мне компилятор дает понить при выполнении этого слушателя, что:
Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is displayable.
at java.awt.Frame.setUndecorated(Unknown Source)
at gfm.GraphicFramesModule$7.windowStateChanged(GraphicFramesModule.java:386)
at java.awt.Window.processWindowStateEvent(Unknown Source)
at java.awt.Window.processEvent(Unknown Source)
.....
Где 386 строка - как раз команда MineFrame.this.setUndecorated(true) в слушателе на максимизацию фрейма.
Так вот, каким боком мне мешает то, что "фрейм может быть отображен"?! И даже сетВизибл фолс и тру вокруг команды толку не дали.
Решение задачи: «Как развернуть фрейм на ВЕСЬ экран?»
textual
Листинг программы
- import java.awt.event.*;
- import javax.swing.*;
- public class GraphicFramesModule extends JFrame {
- public GraphicFramesModule() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- addWindowStateListener(new WindowStateListener() {
- @Override
- public void windowStateChanged(WindowEvent st) {
- if (st.getNewState() == GraphicFramesModule.MAXIMIZED_BOTH) {
- dispose();
- setUndecorated(true);
- showFrame();
- } else {
- dispose();
- setUndecorated(false);
- showFrame();
- }
- }
- });
- showFrame();
- }
- private void showFrame() {
- pack();
- setVisible(true);
- }
- public static void main(String[] args) {
- new GraphicFramesModule();
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д