2013-09-15 3 views
1

Я пытаюсь изучить базовый GUI с помощью swing. Когда я попытался активировать/установить nimbus, отображается следующая ошибка: «com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel не может быть разрешен переменной». Ошибка показана в строке com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel в методе setLookAndFeel(). Я использую Java Build 1.7.0NimbusLookAndFeel не может быть разрешен переменной

import java.awt.FlowLayout; 
import javax.swing.UIManager.LookAndFeelInfo; 
import javax.swing.*; 

public class swing1 extends JFrame { 
    public swing1(){ 
     super("Title: Swing Project 1"); 
     //setLookAndFeel(); 
     setSize(225,80); 
     setLookAndFeel(); 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     FlowLayout flo = new FlowLayout(); 
     JButton adds = new JButton ("Add"); 
     JButton minus = new JButton("Substract"); 
     JButton mult = new JButton ("Multiply"); 
     add(adds); 
     add(minus); 
     add(mult); 
     setVisible(true);     
    } 

    private void setLookAndFeel() { 
     // TODO Auto-generated method stub 
     try { 
      UIManager.setLookAndFeel(“com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel”); 
     } 
     catch (Exception exc) { 
      //ignore 
     }  
    } 

    public static void main (String args []){ 
     swing1 startSwing = new swing1(); 
    } 
} 

ответ

4

строка литералов можно определить с " не с

Также используйте этот код, чтобы установить Look and Feel.

import javax.swing.UIManager.*; 

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. 
} 

От официальных Nimbus Look and Feel.

версия Примечание: Не устанавливайте Nimbus внешний вид и явно вызовом метода UIManager.setLookAndFeel, потому что не все версии или реализации поддержки Java SE 6 Nimbus. Кроме того, местоположение пакета Nimbus изменилось между обновлениями JDK 6 Update 10 и JDK 7 выпусками. Итерация через все установленные внешний вид реализация является более надежным подходом, поскольку, если Nimbus не является , используется внешний вид по умолчанию. Для выпуска JDK 6 Update 10 пакет Nimbus находится по адресу com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel.

2

Используйте регулярные котировки

"com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel" 

вместо

“com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel” 
1

Если вы читаете документацию на The Java Tutorials, вы увидите, что между выпусками Java 6 и Java 7, расположение пакета Look-и-Feel Nimbus изменилось. Рекомендуемый способ установить вид и на ощупь Nimbus это:

import javax.swing.UIManager.*; 

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. 
} 
+0

спасибо, работал. – sifat

+0

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

0

Это способ сделать, чтобы установить Nimbus

import javax.swing.UIManager.LookAndFeelInfo; 
import java.awt.EventQueue; 
import java.awt.BorderLayout; 
import javax.swing.*; 
public class Frame1 { 
    private JFrame frame; 
    public static void main(String[] args) { 
     EventQueue.invokeLater(new Runnable() { 
      public void run() { 
       try { 

        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { 
          if ("Nimbus".equals(info.getName())) { 
           UIManager.setLookAndFeel(info.getClassName()); 
           break; 
          } 
         } 
       Frame1 window = new Frame1(); 
        window.frame.setVisible(true); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    }