Java SE Look&Feel не может найти класс Nimbus

179
17 апреля 2017, 03:40

Пользуюсь NetBeans 8.1 Java 1.8 , в режиме визуального редактора JFrame устанавливаю стиль Nimbus - работает прекрасно, использую код генерируемый этим редактором и создаю простой класс(все тот же extended JFrame) в проекте, в случаи одиночного запуска именно этого класса - стиль сохраняется однако:

 if ("Nimbus".equals(info.getName())) {
                               UIManager.setLookAndFeel(info.getClassName());                                
                               break;
                       }else {System.out.println("Nimbus not found >"+UIManager.getLookAndFeel());}
                   }

Вывод: Nimbus not found >[The Java(tm) Look and Feel - javax.swing.plaf.metal.MetalLookAndFeel] То есть стиль установился, однако не был найден? Если же запускать фрейм вызовом из основного проекта, через :

new GUI().setVisible(true);

Возвращает уже в метал стиле... Есть подозрение что в случаи наличия более одного фрейма в проекте, стиль надо задавать как-то глобально, или допустим все зависит от иерархии вызовов и стиль определяется по предыдущему фрейму. Сам проект пока прост : Main class -> Авторизация (Лучше бы использовать диалоговое окно, знаю... но пока есть необходимость в фрейме) -> GUI (фрейм).

Главный вопрос как установить Nimbus на весь проект?

Answer 1

В конструкторе созданного класса GUI:

    public GUI() {
    setLaF();
   // initComponents();
}

Сам сэттер для стиля:

    private void setLaF() {
        SwingUtilities.invokeLater(new Runnable( ) {
    public void run( ) {
            //set L&F
            try {
                   for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
                       if ("Nimbus".equals(info.getName())) {
                               UIManager.setLookAndFeel(info.getClassName());
                               break;
                       }
                   }
                } catch (Exception e) {
                // If Nimbus is not available, you can set the GUI to another look and feel.
                 e.printStackTrace();
                }
        //create UI and components here
   System.out.println("Nimbus not found >"+UIManager.getLookAndFeel());
   initComponents();
    }
});
}

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

READ ALSO
Как синхронизировать две TextView

Как синхронизировать две TextView

Имеются 2 TextView: inText и outTextВ inText пишу строку, и он должен сразу же появиться в outText

178
WPARAM и LPARAM в JNA SendMessage

WPARAM и LPARAM в JNA SendMessage

Пытаюсь в winAPI на java (да, да, странная нужда, блаблабла

213
Как реализовать перенос текста в EditText?

Как реализовать перенос текста в EditText?

Когда пишу текст, все пишется в одну строкуКак только содержимое становится больше, чем EditText, то текст уходит дальше

276
Вид условия при 404

Вид условия при 404

Есть некий бот для вк с командой "вики"При существующей в вики статье, бот даёт на неё ссылку

169