Как удалить строку заголовка в JFrame - PullRequest
22 голосов
/ 02 января 2012

Я использую следующий код для практики,

http://docs.oracle.com/javase/tutorial/uiswing/examples/layout/BorderLayoutDemoProject/src/layout/BorderLayoutDemo.java

Я также добавляю

frame.setSize(frame.getMaximumSize());

в метод createAndShowGUI (),

Более того, я хочу, чтобы в этом окне не было строки заголовка, кнопок закрытия и сворачивания.

Я попробовал следующий код:

frame.setUndecorated(true);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

Если я добавил этот код перед пакетом(), он входит в бесконечный цикл с этим исключением Исключение в потоке "AWT-EventQueue-0" java.lang.NegativeArraySizeException

Если я добавил последнюю строку метода createAndShowGUI (), то этоВыдает Исключение в потоке "AWT-EventQueue-0" java.awt.IllegalComponentStateException: кадр отображается.

Что мне делать?

Спасибо.

Ответы [ 2 ]

33 голосов
/ 02 января 2012
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Already there
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setUndecorated(true);
5 голосов
/ 02 января 2012

Хорошо, следующий фрагмент кода в createAndShowGUI() работал для меня:

JFrame frame = new JFrame("BorderLayoutDemo");
frame.setUndecorated(true); // Remove title bar
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
addComponentsToPane(frame.getContentPane());
frame.pack();
frame.setVisible(true);

Обратите внимание, что я не уверен, чего вы хотите добиться, вручную установив размер нереализованного фрейма равным его максимальному размеру, который первоначально будет (0, 0).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...