Как изменить внешний вид Jframe по умолчанию? (Не тема Netbeans)
Я хочу изменить внешний вид по умолчанию всех форм jframe, которые я буду создавать здесь, вместо того, чтобы вручную редактировать каждый код внешнего вида каждого jframe, который я создаю из
"Nimbus" - "Windows".
Итак, что я хочу сделать, так это то, что с момента запуска Netbeans при создании нового Jframe код для внешнего вида этого Jframe, который я только что создал, будет автоматически установлен на "Windows", а не на "Nimbus",.
Я хочу, чтобы код внешнего вида выглядел так же сразу после того, как я нажму "New > Jframe form":
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Windows".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
}
Примечание. Я не пытаюсь использовать тему Netbeans, я просто хочу, чтобы Jframe создавал, чтобы окна выглядели и чувствовали по умолчанию, поэтому мне не нужно проходить через вкладку source и изменять Nimbus на Windows для каждого Jframe, который я создаю.
Ответы
Ответ 1
В первую очередь взгляните на эту тему: Использование нескольких JFrames, хорошая/плохая практика?
Примечание. Я не пытаюсь использовать тему Netbeans, Я просто хочу, чтобы Jframe что я создаю, чтобы окна выглядели и чувствовали по умолчанию, поэтому я не должны пройти вкладку источника и изменить Nimbus на Windows для каждый созданный Jframe.
То, что вы хотите изменить, называется шаблоном: каждый файл, который вы можете создать с помощью мастера создания файла, имеет связанный с ним шаблон. Сказав это, NetBeans дает разработчикам возможность обновлять/создавать шаблоны по умолчанию. Перейдите в Инструменты → Шаблоны и найдите Swing GUI Forms → JFrame
![enter image description here]()
У вас есть два варианта:
- Откройте шаблон в редакторе и измените его там.
- Создайте дубликат шаблона и измените его.
Я бы выбрал вариант 2, чтобы сохранить исходный шаблон без изменений.
![enter image description here]()
Когда вы редактируете шаблон, просто изменяйте эту строку (или наблюдайте, что вы действительно хотите):
![enter image description here]()
Наконец, чтобы создать новый "пользовательский" JFrame
, просто найдите свой шаблон в Swing GUI Forms → MyJFrameTemplate, как показано ниже:
![enter image description here]()
Кроме того,
Чтение комментария @Misgevolution ниже. Я думаю, что есть что-то, что нужно уточнить. Этот автоматически сгенерированный метод main
существует только для целей тестирования, что позволяет разработчикам "запускать" контейнеры верхнего уровня. Java-приложению нужен только один класс main
, поэтому эти методы только для тестирования main
должны быть удалены при развертывании вашего приложения. Как было предложено в других ответах, L & F следует устанавливать только один раз при запуске, а не в каждом контейнере верхнего уровня.
Ответ 2
1. try {
2. for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
3. if ("*Windows*".equals(info.getName())) {
4. javax.swing.UIManager.setLookAndFeel(info.getClassName());
5. break;
6. }
7. }
8. }
в строке "3" просто замените "окна" на "Nimbus" и поместите этот код в основной фрейм приложения и вызовите другие фреймы во вложенной форме, он автоматически применит nimbus theam для всех форм.
Ответ 3
См. раздел Изменение раздела "Внешний вид и ощущение после запуска java tutorial. Вы должны позвонить как:
UIManager.setLookAndFeel(lnfName);
SwingUtilities.updateComponentTreeUI(frame);
frame.pack();
Где lnfName
- имя LookAndFeel, а frame
- ваш объект JFrame
.