2017-01-21 3 views
0

Ich bin es gewohnt, in der Lage, eine Instanz einer anderen Klasse zu erstellenWie eine Klasse nennen, die durch Ausführen Windowbuilder (Eclipse) mit

Config con = new Config(); 
con.setVisible(true); 

Doch dies scheint nicht zu funktionieren mit dem Verlauf des Windowbuilder erstellt wurden Plugin hat die GUI in Config eingerichtet. Wenn der vorherige Befehl ausgeführt wird, erstellt er einen leeren, winzigen JFrame. Die wichtigste Methode der Config enthält nur die folgenden:

public static void main(String[] args) { 
    EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      try { 
       Config window = new Config(); 
       window.frame.setVisible(true); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
    }); 
} 

der Konstruktor nur ein initialize-Methode aufruft, die die Erstellung von Inhalten enthält:

public Config(){ 
initialize(); 
} 
private void initialize() { 
     frame = new JFrame(); 
     frame.setBounds(100, 100, 450, 300); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     frame.getContentPane().setLayout(null); 
     frame.setLocationRelativeTo(null); 
     frame.setResizable(false); 

//other configuration here 
} 

Wie kann ich Config von einer anderen Klasse aufrufen zu laufen und zu sehen sein ?

Antwort

0

In Ordnung, die Antwort gefunden. Um zu verhindern, dass der kleine unbrauchbare Frame angezeigt wird, setzen Sie nicht "visible" von der ursprünglichen Klasse. Statt einfach laufen:

Config con = new Config(); 

Dann im Konstruktor von Config, nach allem, was die Initialisierung, fügen

frame.setVisible(true); 
Verwandte Themen