Как изменить внешний вид 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.