2010-09-24 12 views

Respuesta

4

Asumiendo que no desea ocultar la barra de tareas, debe utilizar getMaximumWindowBounds.

Java API

http://www.javabeginner.com/java-swing/java-jframe-class-example

Por defecto, un JFrame se muestra en la esquina superior izquierda de JFrame centrado de la pantalla. Para mostrar un marco en una ubicación especificada , puede usar el método setLocation (x, y) en la clase JFrame . Este método coloca la esquina superior izquierda de un marco en ubicación (x, y).

Su pseudo código para la esquina superior derecha se ve algo como esto:

yourJFrame.setLocation(
    GraphicsEnvironment.getMaximumWindowBounds().getWidth() - 
    yourJFrame.getWidth(), 0); 
+0

¡Gracias! Esto me ayudó a comenzar, la respuesta de Geoffrey Zheng resolvió mi segundo problema. –

7

Hay muchas preguntas/respuestas sobre el uso de GraphicsEnvironment para hacer cosas similares.

Puede utilizar GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices() para obtener todos los monitores, a continuación, llamar GraphicsDevice#getConfigurations y luego GraphicsConfiguration#getBounds para obtener el tamaño y la ubicación de cada monitor, a continuación, utilizar la geometría de la escuela secundaria para encontrar el monitor "derecho". (Tenga en cuenta que una verdadera configuración de múltiples monitores puede ponerlos en una ubicación arbitraria).

+0

¿Se garantiza que el primer dispositivo en GraphicsEnvironment.getLocalGraphicsEnvironment(). GetScreenDevices() devolverá el primer monitor? Lo pregunto porque es posible utilizar la geometría de la escuela secundaria, pero no es eficiente si se implementa en plataformas de monitores múltiples donde los monitores varían de 1 a 10. –

+0

El monitor "Primero de la mayoría" está mal definido porque como dije, puede colocar varios monitores de la forma que desee, por ejemplo, 4 monitores en los 4 vértices de un diamante, ¿el primero es "el primero más" o el izquierdo? Puede usar 'GraphicsEnvironment # getDefaultScreenDevice' para obtener el, ya sabe, * monitor * predeterminado, pero puede configurar cualquier monitor como predeterminado (al menos en Windows). –

Cuestiones relacionadas