JFrame перестает показывать контент, когда для JFrame.setType установлено значение Type.POPUP
У меня есть небольшой JFrame, который не должен отображаться на панели задач и который не должен быть украшен. Я добился этого с помощью этого кода, но фрейм не отображает никакого контента.
super();
instance = this;
instance.setUndecorated(true);
instance.setType(JFrame.Type.POPUP);
Когда я заменяю
instance.setType(JFrame.Type.POPUP);
с
instance.setType(JFrame.Type.UTILITY);
он снова показывает содержимое, а также показывает фрейм на панели задач.
Заранее спасибо! Саймон
1 ответ
Если вы хотите, чтобы ваш кадр был неокрашенным, а не видимым на рабочем столе, вы можете использовать JWindow. Он имеет все функциональные возможности, аналогичные JFrame
так что замени JFrame
с JWindow
JWindow - это контейнер, который может отображаться в любом месте на рабочем столе пользователя. У него нет строки заголовка, кнопок управления окном или других элементов, связанных с JFrame, но он все еще является "первоклассным гражданином" рабочего стола пользователя и может существовать где угодно на нем.
Пример кода JWindow
JWindow window = new JWindow();
window.add(new JButton("test"));
window.setSize(500, 500);
window.setLocationRelativeTo(null);
window.setVisible(true);