2012-03-14 21 views
5

Me gustaría saber cómo solucionar el navegador resolución para un PC de configuración 1280X720 para que la aplicación web desarrollada en Java utilizando duerma gwt parecía stretched.I han tratadopantalla de código java resolución

int width= windows.getClientWidth(); 
int height= windows.getClientHeight(); 
RootPanel.get().setHeight(height + "px"); 
RootPanel.get().setWidth(width + "px"); 
+5

¿Realmente esperan a ser capaz de establecer tamaño de la ventana del navegador del usuario? HTML/CSS/JavaScript fueron diseñados para que las aplicaciones web tuvieran algunos límites. Jugar con la ventana del navegador es una de las áreas donde JavaScript tiene muchos límites inherentes. Recomendaría pasar algún tiempo con la documentación de CSS para que su aplicación "no se vea estirada". –

+0

En realidad, este desarrollo está en Java ya que el entorno de desarrollo usa gwt sin utilizar applets para la codificación. Por lo tanto, es difícil usar Java puro para establecer el ancho y alto de los paneles raíz de acuerdo con la resolución de Systems. Así el navegador se ve unido a la web aplicación. Gracias por su respuesta Adam. – MindBrain

+1

El objetivo de GWT es compilar código Java para JavaScript que luego se puede ejecutar de forma nativa en el navegador. En consecuencia, en tiempo de ejecución no está realmente usando "Java puro", en realidad está usando JavaScript. Por lo tanto, cualquier límite en JavaScript (en este caso, cambiar el tamaño de la ventana del navegador) también es un límite en el código de Java compilado utilizando GWT. –

Respuesta

1

¿Estás seguro tiene algún componente principal que se agrega al RootPanel. A DockPanel o LayoutPanel o lo que sea que use como componente superior. Solo arregla el tamaño de este panel y listo. RootPanel.get() le da un manejo al elemento del cuerpo, cambiar el tamaño del elemento del cuerpo de un sitio no tiene sentido.

1

Ok, estaba buscando hacer algo a lo largo de lo que estás buscando con un juego en el que he estado trabajando. Y descubrí que hay una manera mucho mejor de manejarlo. Una vez que lo resuelva funcionará con cualquier resolución

ejemplo, estaba tratando de mostrar elementos en un inventario. pero con el uso de valores enteros en la x, y para las imágenes se moverían dependiendo de la resolución que el usuario estaba usando.

así que baselined algunos valores de X, Y al igual que

g.drawImage(inventory, width - 499, height/2 - 20, null); 
int ixt = width - 499; 
int iyt = height/2 - 20; 
g.drawImage(broadsword, ixt + 10, iyt + 10, null); 

esta manera se inicia en el 0,0 de la imagen de inventario, y deja atrás y hacia abajo 10 píxeles y coloca la imagen del artículo.

así que no importa en qué resolución estés, siempre aparece en el mismo lugar.

Es de esperar que pueda hacer algo así en su programa.

Cuestiones relacionadas