Как удалить строку заголовка в JFrame

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

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);

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

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

Что делать ?

спасибо.

2 ответов


    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Already there
    frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
    frame.setUndecorated(true);

Ну, следующий фрагмент кода в 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) изначально.