Примечание. Сначала я отредактировал ответ stacker , но было предложено создать новый ответ.
Существует несколько способов настройки.окна управления доступны для ваших пользователей.
В настоящее время единственный способ удалить кнопки «Развернуть» и «Свернуть», сохранив строку заголовка и кнопку закрытия, - это использовать JDialog
вместо JFrame
:
import java.awt.Dimension;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class DialogDemo {
public static void main(String[] args) {
JDialog dialog = new JDialog(new JFrame(), "No min max buttons");
// necessary as setDefaultCloseOperation(EXIT_ON_CLOSE) is
// not available for JDialogs.
dialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent evt) {
System.exit(0);
}
});
JLabel label = new JLabel("blah blah");
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(400, 400));
panel.add(label);
dialog.add(panel);
dialog.pack();
dialog.setVisible(true);
}
}
Диалоговое решение не позволяет пользователям свернуть и развернуть окно, в том числе с помощью ярлыков, однако оно не лишает возможности изменять размер окна.
Использование setResizable(false)
удалит только кнопку максимизации, за исключением невозможности изменить размер окна.
Наконец, как упоминалось trashgod , setUndecorated(true)
метод отключит декорации рамки, удалив строку заголовка и края окна.Это затрудняет пользователям перетаскивание, изменение размера и закрытие окна, хотя и не является невозможным, поскольку эти действия по-прежнему можно выполнять с помощью сочетаний клавиш.