# 2 Fenster öffnen



## phyrexianer (23. Mai 2007)

Hallo Leude ich habe folgendes Problem was ich irgendwie nicht gelöst bekomme....

Habe zwei Klassen mit einer MAIN-Methode welche jede für sich funktioniert.  Window1.class Window2.class

jetz hat Window1 einen Button und durch das drücken auf diesen Button soll Window2 göffnet werden. mit 
	
	
	
	





```
new Window2();
```
 geht es leider nicht...

was muss ich denn beachten ???

achso, das ganze ist mit SWT gemacht !!!


----------



## The_S (23. Mai 2007)

Window2.main(null);


----------



## phyrexianer (23. Mai 2007)

ok... danke das Funktioniert.....   aber warum werden beide Fesnter geschlossen wenn ich das durch den Button göffnetes Fenster schließe ???   brauche ich ein zweites DisplayObjekt ???


----------



## The_S (23. Mai 2007)

Weil beide in der selben VirtualMachine laufen und du vermutlich beiden Fenstern gesagt hast, dass sie die VM beim schließen beenden sollen.


----------



## L-ectron-X (23. Mai 2007)

Könnte die Übergabe von _null_ nicht vielleicht im Allgemeinen Probleme verursachen? Genau dann, wenn bspw. die Argumentliste auf ihre Länge geprüft wird, bzw. damit (un)geprüft gearbeitet wird.
Aber in diesem Fall sind ja beide Klassen inhaltlich bekannt.


----------



## Marco13 (23. Mai 2007)

Falls Window2 vernünftig implementiert ist, sollte ein
Window w = new Window2();
reichen. (Eigentlich im EDT, aber egal).
Vielleicht könnte noch ein 
w.setVisible(true);
nötig sein.
Aber falls das dann immernoch nicht funktioniert, dann enthält die main aus Window2 Dinge, die sie nicht enthalten sollte (aus genau diesem Grund). Es macht (wenn man keine Argumente verwendet) eigentlich nie Sinn, eine main-Methode zu haben, die mehr als _eine_ Zeile enthält.


----------



## phyrexianer (29. Mai 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Weil beide in der selben VirtualMachine laufen und du vermutlich beiden Fenstern gesagt hast, dass sie die VM beim schließen beenden sollen.



ja direkt sage ich nichts ich drücke nur auf das [X] rechts oben.....  dann schließen sich beide Fenster... wie das genau in SWT implementiert ist weiß ich ja nicht!

wie könnte denn so ein Zweites Fenster aussehen ??? also wie kann ich denn das besten lösen ??? würde mich über ein wenig Programmcode feuen.. ;-)


hier mal die main-Methode meines zweiten Fensters !

```
public static void main(String[] args) {
		// TODO Auto-generated method stub
		/* Before this is run, be sure to set up the launch configuration (Arguments->VM Arguments)
		 * for the correct SWT library path in order to run with the SWT dlls. 
		 * The dlls are located in the SWT plugin jar.  
		 * For example, on Windows the Eclipse SWT 3.1 plugin jar is:
		 *       installation_directory\plugins\org.eclipse.swt.win32_3.1.0.jar
		 */
		Display display = Display.getDefault();
		GUISetup thisClass = new GUISetup();
		thisClass.createSShell();
		thisClass.ssShell.pack();
		thisClass.ssShell.open();

		while (!thisClass.ssShell.isDisposed()) {
			if (!display.readAndDispatch())
				display.sleep();
		}
		display.dispose();
	}
```


----------



## phyrexianer (15. Jun 2007)

hat keiner einen Tip für mich ???  bzw. kann mir jemand erklären warum zwei "main Klassen" unabhänging voneinander laufen aber wenn ich die eine durch die andere starten will es nich geht ??? bzw. warum muss ich die mainMetohe explizit aufrufen ???
wird die mainMethode nicht automatisch aufgerufen wenn eine Instanz des Objektes ersetllt wird ???


----------

