2011-01-05 5 views
1

Neu in Java und habe ein Problem, ich kann nicht scheinen zu reparieren, egal was ich tue, so wird jede Hilfe sehr geschätzt werden.Rückkehr GUI nach Nimbus Einstellung

Ich habe eine kleine Anwendung in Java und habe einen Popup-Kalender (WWW) verfügbar, der das Nimbus-Look and Feel verwendet. Mein Problem ist, dass ich nicht das gleiche Aussehen und Gefühl für meine GUI bekommen kann, nachdem der Popup-Kalender für das erste Mal aufgerufen wird. Ich habe zwei Möglichkeiten. entweder, um eine Möglichkeit zum Zurücksetzen der Einstellungen so zu finden, dass meine GUI wie zuvor ist und Aufruf an das Pop-up vorgenommen werden oder Code nicht eingeben wo (Hauptklasse), so dass die gesamte GUI das Nimbus-Look and Feel verwendet. Hier

ist der Code für das Pop-up-Kalender

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

public class Celendar extends JFrame { 
    //private JPanel p; 
    Celendar(){ 
    //super("ColorEditor"); 
     //UIManager.put("nimbusBase", new Color(233,22,22)); 
     //UIManager.put("nimbusBlueGrey", new Color(22,200,150)); 
     //UIManager.put("control", new Color(100,150,200)); 


    try { 
     for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) { 
      if ("Nimbus".equals(info.getName())) { 
       UIManager.setLookAndFeel(info.getClassName()); 
       break; 
      }else{ 
       UIManager.setLookAndFeel"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 
      } 
     } 
    } catch (Exception e) { 
    // If Nimbus is not available, you can set the GUI to another look and 
    // feel 
    } 

    setLayout(new GridLayout(1,1)); 
    setSize(322,250); 
    setLocation(500,400); 
    setResizable(false); 
    Days d= new Days(); 

    /*----- Here -----*/ 
    //setVisible(true); 
    //setDefaultCloseOperation(EXIT_ON_CLOSE); 
    setDefaultCloseOperation(DISPOSE_ON_CLOSE); 

    I THINK HERE IS WHERE I NEED TO INSERT SOME CODE TO GET MY GUI DISPLAYING 
    BEFORE THECALL TO THE POP UP IS MADE. 


    /*----------------*/ 
    add(d); 

    // try{ 
    // //UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
    // //UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
    //  UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 
    // //UIManager.setLookAndFeel("com.sun.java.swing.plaf.gtk.GTKLookAndFeel"); 
    // //UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); 
    // //UIManager.setLookAndFeel("com.sun.javax.swing.plaf.metal.MetalLookAndFeel"); 
    // SwingUtilities.updateComponentTreeUI(this); 
    // }catch(Exception e){System.out.println("error "+e);} 
    } 
} 

Oder wo ich Code einfügen alle meine GUI den Nimbus Blick zu machen und fühlen

+0

Neu in Java, nicht wahr? Ich wünsche dir sehr, sehr viel Glück. Versuchen Sie zumindest, Spaß zu haben. :) Oh, und bitte einrücken Sie Ihren Code mit vier Leerzeichen, siehe die Formatierungsregeln. Herzlich willkommen! : D –

Antwort

0

Wenn Sie alle UIs wollen das gleiche haben L & F, setze den Code, der ihn setzt, bevor irgendeine UI oder Komponente erstellt wird; in der Regel in main(String[]) oder im Konstruktor der ersten Benutzeroberfläche, die erstellt wird. Sie können auch die L & F zurücksetzen, nachdem Sie mit dem Kalender fertig sind, indem Sie UIManager.getSystemLookAndFeelClassName() aufrufen. Denken Sie daran, dass, sobald Sie die L & F gesetzt haben, alle Komponenten, die danach erstellt werden, die L & F bekommen (wenn Sie das nicht schon wussten).

+0

Hallo Merky, Vielen Dank für Ihre Hilfe hier ist mein Main, wo füge ich es bitte ein? Public static void main (Zeichenfolge args []) {SA md = new SA ("Stock Programm ™ 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); } danke Simon –

+0

Sory Merky Fehlalarm funktioniert überhaupt nicht Wie kann ich es zurück zu java GUI aussehen und fühlen bitte mit UImanager.getSystemLookAndFeelClassName? –

+0

Sortierte es - Danke für alle Antworten. Simon –