Swing JFrame.setDefaultLookAndFeelDecorated против UIManager.setLookAndFeel - PullRequest
0 голосов
/ 25 сентября 2019

В Swing, кажется, есть два способа установки темы / внешнего вида приложения:

  • JFrame.setDefaultLookAndFeelDecorated и
  • UIManager.setLookAndFeel

Мне интересно, в чем разница между ними и когда / почему использовать любой из них.

1 Ответ

1 голос
/ 26 сентября 2019

Только методы UIManager.setLookAndFeel(...) позволяют настроить внешний вид приложения.Это метод, который вы хотите использовать для установки особого внешнего вида вашего приложения.

Использование статического JFrame.setDefaultLookAndFeelDecorated(...) будет влиять только на то, как вновь созданные JFrame s будут «украшать» свои окна (т.е.заголовок окна, кнопка закрытия / сворачивания и т. д.).Либо LookAndFeel, либо системой (или «оконным менеджером»).Это не влияет на внешний вид приложения в целом.

Из документов:

Если defaultLookAndFeelDecorated равно true, текущий LookAndFeel поддерживает предоставление окнаукрашений, и текущий оконный менеджер поддерживает неокрашенные окна, тогда вновь созданные JFrames будут иметь свои украшения окон, предоставленные текущим LookAndFeel.В противном случае, у вновь созданного JFrames будут художественные оформления окон, предоставленные текущим оконным менеджером.

Лично я редко нахожу хорошее применение для последнего метода.

...