2016-07-13 17 views
1

после использования jTattoo LookAndFeel,как сделать рамку непараметризованной после jTattoo темы установлен

try { 
     UIManager.setLookAndFeel(new McWinLookAndFeel()); 
     new Main(new UserModel()).setVisible(true); 

    } catch (UnsupportedLookAndFeelException ex) { 
     Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null,ex); 
    } 
} 

я все еще хочу, чтобы все кадры undecorated.i пытались использовать

this.undecorated(true); 

в конструкторе моего кадра но эти коды не будут работать, так как внешний вид переопределяет эти коды, может ли кто-нибудь сказать мне, как идти выше этого? всякая помощь будет очень полезна.

ответ

1

У меня была такая же проблема, и поскольку этот API недостаточно документирован, может быть трудно понять, как это решить.

Проблема возникает из-за того, что тема перекрывает стандартную панель приложений, поэтому тема тоже должна ее скрыть. Я потратил несколько минут на изучение кода классов, и я нашел это решение. После того, как вы установите внешний вид, если хотите перейти в полноэкранный режим, сначала вам нужно удалить границу. Поэтому перед установкой:

this.undecorated(true); 

удалить границы:

DecorationHelper.decorateWindows(false); 

P.S перед выходом в полноэкранном режиме, вы должны ремонтировать окно:

DecorationHelper.decorateWindows(true); 

Он работал для меня!

+0

'DecorationHelper.decorateWindows (false); this.setUndecorated (true); this.setAlwaysOnTop (true); ДекорацияHelper.decorateWindows (true); this.setExtendedState (this.MAXIMIZED_BOTH); '@ Алин ты имеешь в виду вот так? к сожалению, это не сработало для меня. Любая ошибка, которую я сделал ??? – Azela

+0

@ Азела Нет. Вы должны вызвать метод 'DecorationHelper.decorateWindows (false);' перед тем, как начать класс, используемый для режима FullScreen. Пример: 'DecorationHelper.decorateWindows (false); новый FullScreenClass(); ' –