Abfrage nach mehreren Monitoren
Miriam
- java
Hallo,
kann ich mit Java abfragen, ob der Nutzer einen oder mehrere Monitore benutzt? Wie geht das?
Freundliche Grüße,
Miriam
Moin!
kann ich mit Java abfragen, ob der Nutzer einen oder mehrere Monitore benutzt? Wie geht das?
Wahrscheinlich geht das irgendwie. PowerPoint stellt das beim Abspielen einer Präsentation ja auch irgendwie fest, und zeigt sie auf dem zweiten Bildschirm.
Ich würde allerdings keine derartige Bevormundung des Benutzers einbauen, sondern ihm die Entscheidung allein überlassen. Und sowas kriegt man am schlauesten hin, indem man entweder eine entsprechende Konfigurationsoption in irgendein Menü einbaut ([ ] nutze zweiten Monitor), oder frei verschiebbare Fenster anbietet (dann wird der Benutzer sich die Arbeitsumgebung so einrichten, wie er es gut findet - ob auf dem zweiten Monitor, oder nicht, ist seine Sache.
- Sven Rautenberg
Hallo Sven,
danke für die Antwort. Ich möchte allerdings nicht testen, wie viele Monitore benutzt werden, um den Nutzer zu bevormunden. Ein Snapshottool soll daraus nur ableiten, wie es die zur Verfügung stehende Bildschirmgröße ermitteln muss.
Grüße,
Miriam
Moin Moin !
PowerPoint stellt das beim Abspielen einer Präsentation ja auch irgendwie fest, und zeigt sie auf dem zweiten Bildschirm.
Äh - nö!
Ich hab in meinem Büro-PC eine ATI RADEON 7000 stecken, die sich so ungeschickt in Windows (2000) reinfummelt, das sie trotz zwei Monitoren als ein Adapter mit nur einem Monitor erscheint.
Symptome: Windows-Taskbar geht über beide Bildschirme (Start ist unten links auf dem linken Monitor, Uhr ist unten rechts auf dem rechten Monitor), Anzeige-Eigenschaften zeigen nur einen Monitor ("(Multiple Monitors) on ATI RADEON 7000 SERIES"), Powerpoint, ACDSee und andere machen im Präsentations-/Fullscreen-Modus links und rechts einen Trauerrand mit dem zu präsentierenden Inhalt genau auf der Grenze zwischen den Monitoren, und so weiter.
Fazit: Nicht jede Dual-Head-Karte meldet sich auch als zwei Grafikkarten an. Jedes Programm, das Windows' Dual-Head-Betrieb kennt, aber nicht die ATI-Ausnahme, wird *eine* Grafikkarte mit *einem* Monitor erkennen, wenn auch mit 2048x768.
Alexander
Moin!
Ich hab in meinem Büro-PC eine ATI RADEON 7000 stecken, die sich so ungeschickt in Windows (2000) reinfummelt, das sie trotz zwei Monitoren als ein Adapter mit nur einem Monitor erscheint.
Das kann man im Treiber mit Sicherheit einstellen. Ich hatte da mal eine Matrox-Karte unter Windows NT, die diese Einstellmöglichkeit hatte. War zwingend notwendig, weil eine spezielle Software ansonsten nicht auf beiden Bildschirmen gelaufen wäre.
Symptome: Windows-Taskbar geht über beide Bildschirme (Start ist unten links auf dem linken Monitor, Uhr ist unten rechts auf dem rechten Monitor), Anzeige-Eigenschaften zeigen nur einen Monitor ("(Multiple Monitors) on ATI RADEON 7000 SERIES"), Powerpoint, ACDSee und andere machen im Präsentations-/Fullscreen-Modus links und rechts einen Trauerrand mit dem zu präsentierenden Inhalt genau auf der Grenze zwischen den Monitoren, und so weiter.
Symptome sind bekannt. Da wird die Auflösung in X-Richtung einfach zusammenaddiert, und der so entstehende Riesendesktop auf zwei Bildschirme verteilt.
Fazit: Nicht jede Dual-Head-Karte meldet sich auch als zwei Grafikkarten an. Jedes Programm, das Windows' Dual-Head-Betrieb kennt, aber nicht die ATI-Ausnahme, wird *eine* Grafikkarte mit *einem* Monitor erkennen, wenn auch mit 2048x768.
Ich will mich natürlich nicht festlegen, dass es sich im Treiber abstellen läßt. Unter Windows NT waren die Möglichkeiten mit mehreren Bildschirmen durchaus noch begrenzt, aber spätestens seit Windows 98 - dementsprechend auch bei Windows 2000 - existiert das Problem, dass man _einen_ extrabreiten Desktop auf zwei Monitore verteilen mußte, nicht mehr grundsätzlich.
Treiber mal genauer erforschen. Ggf. updaten. :)
- Sven Rautenberg
Moin Moin !
Moin!
Ich hab in meinem Büro-PC eine ATI RADEON 7000 stecken, die sich so ungeschickt in Windows (2000) reinfummelt, das sie trotz zwei Monitoren als ein Adapter mit nur einem Monitor erscheint.
Das kann man im Treiber mit Sicherheit einstellen.
Nicht bei dieser Karte mit diesem Treiber. Meine Edel-ASUS zuhause kann wahlweise als ein oder zwei Adapter erscheinen, aber dieses Stück Silizium kann das nicht.
Fazit: Nicht jede Dual-Head-Karte meldet sich auch als zwei Grafikkarten an. Jedes Programm, das Windows' Dual-Head-Betrieb kennt, aber nicht die ATI-Ausnahme, wird *eine* Grafikkarte mit *einem* Monitor erkennen, wenn auch mit 2048x768.
Ich will mich natürlich nicht festlegen, dass es sich im Treiber abstellen läßt. Unter Windows NT waren die Möglichkeiten mit mehreren Bildschirmen durchaus noch begrenzt, aber spätestens seit Windows 98 - dementsprechend auch bei Windows 2000 - existiert das Problem, dass man _einen_ extrabreiten Desktop auf zwei Monitore verteilen mußte, nicht mehr grundsätzlich.
Genau deswegen gibt es wohl die Symptome: Der Treiber wahr wohl mal für NT zusammengetrickst und wurde nur soweit an 2000 angepaßt wie unbedingt notwendig.
Treiber mal genauer erforschen. Ggf. updaten. :)
Alles schon getan, ich quäl mich ja nicht erst seit gestern mit Windows und exotischer Hardware ...
Mir ist das allerdings mittlerweile auch recht egal, ich kann mit den Symptomen leben. Und jeder, der mich nach Dual-Head fragt, wird von mir "Matrox oder teure ASUS" hören.
Alexander
Hallo,
kann ich mit Java abfragen, ob der Nutzer einen oder mehrere Monitore benutzt? Wie geht das?
Es gibt die Klasse java.awt.GraphicsEnvironment. Hier kriegst du einige
Informationen zu den vorhandenen Bildschirmen. Die Anzahl der Monitore
kriegst du, indem du die Anzahl der von der Methode getScreenDevices()
zurückgelieferten GraphicsDevice-Objekte zählst. Den Standard-Bildschirm,
also wohl der Bildschirm, in dem die Fenster aufgehen sollten, kriegst
du über die Methode getDefaultScreenDevice(). (Vorausgesetzt ich habe
das richtig verstanden.)
Die Instanz der Klasse GraphicsEnvironment kriegst du über die Methode
getLocalGraphicsEnvironment().
Übrigens könntest du wirklich das eine oder andere mal Google bemühen,
bevor du hier fragst. Was ich hier jetzt aufschrieben habe, habe ich
in Google gefunden.
Im Java-Almanac (http://javaalmanac.com/), der sehr zu empfehlen ist,
findest du auch etwas dazu.
Gruß
Slyh