Pregunta

estado desarrollando un juego por un tiempo, y actualmente está trabajando la interfaz gráfica de usuario, o por lo menos intentar. Tenido el gran problema de no ser capaz de cambiar el tamaño del marco (sin problemas), ya que no entiendo gestores de diseño muy bien. Unos proyectos más tarde, y el tiempo para volver y hacer algo más en el juego, y llegué a un problema ...

El diseño básico de la estructura principal es, mainPane, que contiene uno gameScrollPane y uno ControlPanel. El panel de desplazamiento es un panel de desplazamiento, y el panel de control de un panel normal. El panel de desplazamiento contiene el panel principal del juego.

Como quería el panel de desplazamiento a ocupar la mayor parte de la pantalla, con el panel de control tomando una pequeña zona inferior, lo mismo que muchos de Sim, como los juegos, así que elegimos el trazado de la frontera para la mainPane. He añadido el panel de desplazamiento y configurar el centro limitaciones y el panel de control añadido y constriants SUR. Esto no se presentó el panel de desplazamiento, por lo que jugó alrededor de intentar diferentes limitaciones, y parece que sólo cuando me puse la restricción panel de desplazamiento al Norte, no se muestra en absoluto.

Para demostrar esto, he creado un vídeo rápido ... http://screenjel.ly/q5RjczwZjH8

Como se puede ver, cuando cambio el valor del norte hasta Center y vuelve a ejecutar, es como si no es allí!

Los puntos de bonificación para cualquiera que pueda ver un segundo problema claro qué puedo comenzar otra pregunta para después de este problema está resuelto!

Les agradezco por su tiempo para leer esto.

Gracias de antemano por cualquier idea o pensamiento:)

Rel

¿Fue útil?

Solución

No puedo obtener el video para mostrar. Se ha buffering para las edades.

Mi conjetura sería que el panel de desplazamiento es, de hecho, llenando el centro; es sólo el panel de juego que no está siendo mostrado.

Su panel de juego tiene que devolver valores razonables para getPreferredSize().

Actualizar

Otra cosa que usted puede hacer es tener el panel de juego implementa la interfaz Scrollable. A continuación, puede anular getScrollableTracksViewportWidth y ...height para volver true así su panel se verá obligado a las dimensiones del scrollpane.

Otros consejos

Si desea informados algo de código para empezar entonces puede que haya conseguido una respuesta muy rápido. Por suerte, se publicó un enlace en los comentarios a la otra respuesta.

Las cosas setContentPane () es raro, sobre todo después de hacer algunas cosas a lo que luego se hacen borrosos. Sin embargo, ese no es el problema.

El problema es que está agregando levelMaker y personMover derecho a mainPane sin ningún tipo de limitaciones. Estos serán entonces soplando lejos cualquier cosa que estableció para CENTRO ... en este caso el establecido previamente gameScrollPane.

Es por eso que ves por norte y no para CENTRO.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top