Miriam: Look & Feel

Hallo,

ich möchte in meinem Programm das Look&Fell ändern. Allerdings gibt mir mein Rechner immer die Fehlermeldung "ClassNotFoundException" aus. Warum findet er beispielsweise das WindowsLookAndFeel nicht? Muss ich dazu noch irgendetwas außer das JDK installieren?

Schon jetzt vielen Dank für eure Hilfe.

Viele Grüße,

Miriam

  1. Hallo!

    ich möchte in meinem Programm das Look&Fell ändern. Allerdings gibt mir mein Rechner immer die Fehlermeldung "ClassNotFoundException" aus. Warum findet er beispielsweise das WindowsLookAndFeel nicht? Muss ich dazu noch irgendetwas außer das JDK installieren?

    Was hast du denn probiert? Bitte geb' uns den entsprechenden Codeausschnitt!

    Danke!

    Ciao,
    Andy

    1. Hallo Andy und Maxx,

      also,

      ich verwende swing,

      ich habe jdk1.3.1_09 und j2sdk1.4.2_05, aber mit keinem von beidem funktioniert es,

      so war mein Code aus:

      public class Example extends JFrame{

      public Example(){
              UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

      ....
          }
      }

      Jetzt hatte ich es noch mal so probiert:

      public class Example extends JFrame{

      public Example(){
              try{
                  UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              }catch(UnsupportedLookAndFeelException ex){
                  System.err.println("LookAndFeel class not found: " + "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
              }

      ...
          }
      }
      Da kommt aber diese Fehlermeldung beim Kompilieren:

      Error: (28,22) unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown

      Viele Grüße,

      Miriam

      1. Hallo,

        Da kommt aber diese Fehlermeldung beim Kompilieren:

        Error: (28,22) unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown

        Vielleicht solltest du dann mal das tun, was da steht, nä...

        Ich übersetze mal:
        "ClassNotFoundException muß gefangen oder als zu werfen deklariert werden"

        Es fehlt ein catch für ClassNotFoundException.
        (Hol dir ne anständige IDE, die das automatisch für dich tut. Z.B.
        http://www.eclipse.de)

        Gruß
        Slyh

      2. Hallo Miriam,

        public class Example extends JFrame{

        public Example(){
                UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

        ....
            }
        }

        ich kann keinen Fehler entdecken. Was liefert ein

        UIManager.LookAndFeelInfo[] lf = UIManager.getInstalledLookAndFeels();
        for (int i=0; i<lf.length; i++) {
          System.out.println(lf[i].getClassName());
          }

        Grüße,

        Jochen

        1. Hallo Jochen,

          habe das Problem jetzt gelöst, die catch-Anweisungen haben gefehlt. Nun möchte ichh auch im JInternalFrame das LookAndFeel ändern. Allerdings stellt die Klasse die Methode UIManager.setLookAndFeel nicht bereit. Kannst du mir sagen, wie das geht?

          Danke,

          Miriam

          an alle anderen: Ich hoffe, mir sagt jetzt nicht wieder jemand, dass das Doppelposting ist, weil ich oben schon danach gefragt habe.

          1. Hallo Miriam,

            Nun möchte ichh auch im JInternalFrame das LookAndFeel ändern.

            Genau so wie im JFrame.

            Allerdings stellt die Klasse die Methode UIManager.setLookAndFeel nicht bereit.

            Das verwirrt mich jetzt etwas. Wer? JInternalFrame?

            Du hast etwas in der Art:
               iframe = new JInternalFrame(...);
               ....
               desktop.add(iframe);

            Und welche Methoden beötigst du?

            iframe = new JInternalFrame(...);
               ....
               UIManager.setLookAndFeel("IrgendEinLookAndFeel");
               desktop.add(iframe);

            Grüße,

            Jochen

          2. Hallo,

            habe das Problem jetzt gelöst, die catch-Anweisungen haben gefehlt. Nun möchte ichh auch im JInternalFrame das LookAndFeel ändern. Allerdings stellt die Klasse die Methode UIManager.setLookAndFeel nicht bereit. Kannst du mir sagen, wie das geht?

            Wenn du das Look&Feel änderst, änderst du dies für die Gesamtanwendung,
            also auch für das JInternalFrame. Zumindest wüßte ich nicht, daß es
            anders wäre.
            Sieht dein JInternalFrame nach Setzen des Look&Feel denn überhaupt
            anders aus als der Rest der GUI?

            an alle anderen: Ich hoffe, mir sagt jetzt nicht wieder jemand, dass das Doppelposting ist, weil ich oben schon danach gefragt habe.

            Nein, da Doppelpostings in den allermeisten Fällen gelöscht werden,
            ist die erwartete Reaktion auf den Doppelposting-Hinweis der, daß du
            die Frage im ursprünglichen Thread quasi nochmal stellst.

            Gruß
            Slyh

  2. Hallo Miriam,

    ich möchte in meinem Programm das Look&Fell ändern. Allerdings gibt mir mein Rechner immer die Fehlermeldung "ClassNotFoundException" aus. Warum findet er beispielsweise das WindowsLookAndFeel nicht?

    du verwendest swing? Mit welcher VM, welche Version?
    Wie sieht der Code aus, und welche Klasse wird nicht gefunden?

    Grüße,

    Jochen