# 2 Monitore, Fenster öffnet sich im falschen Monitor



## Lenard (11. Mrz 2008)

Hallo,

ich habe 2 Monitore und eine Java-Anwendung.
Wenn ich die Anwendung starte, öffnet sie sich auf meinem Master-Monitor.
Ziehe ich die Anwendung auf meinen 2. Monitor und öffne in meiner Anwendung (z.B. durch Knopfdruck) ein weiteres Fenster, öffnet sich dieses wieder aud dem 1. Monitor.

Was kann ich tun damit sich das Fenster auf dem Monitor öffnet auf dem gerade auch meine Hauptanwendung offen ist?

Lenard


----------



## Meru (11. Mrz 2008)

Na du hast doch dann sicher eine Auflösung von ca 2560*1024  (basis 1280*1024).

Wenn du die ClientApplikation startest, kannst du doch angeben wo er sie öfnen soll. 


```
JFrame frame = new JFrame();
frame.setLocation(1300, 10);
```

Wenn du popups öffnen lassen willst, machst du folgendes (so mache ich es zumindest ^^):
Die Dimension, den diese Methode als input erwartet ist die von dem Popup. 

```
// Meine Methode die irgendwo definiert ist
	public Point calculatePopupPosition(Dimension dim){
		// Liest die Koordinate der linken oberen Ecke für Anwendung von dem JFrame
		Point client_location 	= _clientFrame.getLocation();  
		// Ermitteln der aktuellen Größe des JFrames ein
		Dimension client_size 	= _clientFrame.getSize();
		Dimension popup_size	= dim;
		
		Point popup_location = new Point();

		popup_location.setLocation(	((client_size.getWidth()/2) - (popup_size.getWidth()/2))   + client_location.getX(),
									((client_size.getHeight()/2) - (popup_size.getHeight()/2)) + client_location.getY());	
		
		return popup_location;
	}



// Aufgerufen wird diese durch 
		
		JDialog dia = new JDialog();

		dia.setSize(290,110)
		
		dia.setLocation(calculatePopupPosition(dia.getSize());
```


----------



## Lenard (11. Mrz 2008)

Jeder Monitor einzeln hat eine Auflösung von 1280*1024.
Ich kann also ein Fenster nicht über beide Monitore komplett darstellen, wenn ich es maximiere, sondern nur jeweils auf einem der beiden.
Ich könnte das zwar umstellen, so dass ich die kompletten 2560px habe, aber das will ich nicht.

Deshalb müsste mein Java-Programm erkennen auf welchem Bildschirm die ClientApplikation gerade läuft.
Möglicherweise ist dies aber gar nicht machbar.


----------



## Gast (11. Mrz 2008)

doch doch das geht. mit graphicsconfiguration kannste dir die anzahl der screens ausgeben.


----------

