Как настроить Nimbus на главную - PullRequest
2 голосов
/ 06 января 2011

Я только изучаю Java, но до сих пор не смог разобраться с этой маленькой проблемой

Мой всплывающий календарь использует внешний вид Nimbus, но у меня есть панели и контейнеры Jtables которые используют внешний вид Java - я пытаюсь заставить каждый экран / окно графического интерфейса использовать Nimbus выглядит и чувствует, и это было предложено Merky, чтобы поместить следующий код в моей основной чтобы каждый последующий экран выглядел как Nimbus, но я не могу заставить его работать поэтому кто-то может сказать мне, где и как я должен поместить этот код, ПОЖАЛУЙСТА.

public static void main(String args[])
    {


        SA md=new OptraderSA("Copyright© 2010 Simon Andi");

        Dimension sd=Toolkit.getDefaultToolkit().getScreenSize();

        md.setLocation(sd.width/2-400/2, sd.height/2-400/2);
        md.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        /*Suggested Code*/   
         try {

          for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
             UIManager.setLookAndFeel(info.getClassName());
                        System.out.println("CHOSEN THIS");
              break;
         }
         else{
                    UIManager.setLookAndFeel  ("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
          }
        }

        } catch (Exception e) {
        / If Nimbus is not available, you can set to another look and feel.

            Cant get it to compile or work.

}

Буду признателен за помощь Пожалуйста Саймон

Ответы [ 4 ]

12 голосов
/ 06 января 2011

Это то, что я делаю в своем основном методе, чтобы включить Nimbus L & F.

public static void main(String[] args) {
try {
    for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
            UIManager.setLookAndFeel(info.getClassName());
            break;
        }
    }
} catch (Exception e) {
    // If Nimbus is not available, fall back to cross-platform
    try {
        UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
    } catch (Exception ex) {
        // not worth my time
    }
}
new Controller();
}

Вы должны быть уверены, что сконфигурировали UIManager с Nimbus L & F, прежде чем запускать поток диспетчеризации событий колебания (перед вызовом view.setVisible (true)). Надеюсь, это поможет.

1 голос
/ 23 марта 2011

Я думаю, попробуйте с:

for (UIManager.LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
             UIManager.setLookAndFeel(info.getClassName());
                        System.out.println("CHOSEN THIS");
              break;
         }
0 голосов
/ 03 апреля 2018

Чтобы настроить внешний вид Nimbus, добавьте этот код в свой основной метод

    try {
        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (Exception e) {
       e.printStackTrace();
    }
0 голосов
/ 06 января 2011
...