Ir al contenido

Publicidad
Publicidad

Foto

Dudas en java desarrollando un manager de fútbol


  • Nuevo tema
  • Por favor identifícate para responder
9 respuestas en este tema

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#1

Escrito 10 enero 2013 - 16:40

Hola, estoy desarrollando un manager de fútbol en Java con Netbeans. Estoy teniendo varias dudas que iré escribiendo.

Introducción para los que lo lean por primera vez:
De momento tengo realizada una ventana de simulación que es un Jframe en la que aparece una ventana inicial de pausa para hacer cambios de jugadores. y se puede cerrar y abrir con un botón de pausa. Hay una barra de tiempo que comienza al aceptar los primeros cambios. Hay componentes Jpanel para cada jugador que a su vez contienen componentes como jtextpane, icon y selección.

DUDA 1 resuelta.

DUDA 2

Este fallo me ocurre en el pc de sobremesa, y no en el portatil que es donde inicié el proyecto. Tengo un jdialog que se me abre al comienzo y lo reabro con esa pausa antes comentada. El fallo es que todos los componentes se vuelven negros, y solo se ven si paso el ratón por encima o hago cambios que muevan los componentes.

¿Porqué?



Un saludo y gracias
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#2

Escrito 10 enero 2013 - 18:01

Me auto-contesto

El problema era que cada vez que llamaba al Jdialog estaba haciendo uno nuevo.

Ha bastado con crear una variable tipo "ventanapause" fuera y luego llamarla.
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#3

Escrito 16 enero 2013 - 20:35

Tengo una nueva duda.

Me gustaría saber como puedo hacer que una barra de progreso que he implementado se incremente en 1 cada ciertos segundos.

Y añado, saber como hacerlo para que se pare el progreso al darle a un botón de pausa y vuelva a continuar al pulsar otro botón.

Gracias.
  • Volver arriba

galletone
  • galletone

  • Zodiark

  • vida restante: 75%
  • Registrado: 28 ene 2004
  • Mensajes: 5.203
#4

Escrito 17 enero 2013 - 00:45

Hombre yo eso de mantener la instancia del jpanel para preservar su estado no lo veo mala solucion, pero en mi humilde opinion lo que deberias hacer es crearte una rutina de inicializacion que en funcion de los datos te inicializara el estado de la interfaz. Quizas ahora no te haga falta pero puede que mas adelante, conforme aumente la complejidad del programa y del simulador, pueda serte de utilidad seguir un modelo de este estilo. No se, imagina que el simulador por lo que sea cambia alguno de esos parametros entre pausa y pausa, por ejemplo.

Con respecto al refresco de la barra, te haces un thread o si usas java 6 podrias usar un SwingWorker que esta destinado precisamente a este tipo de tareas.
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#5

Escrito 18 enero 2013 - 13:40

He hecho un thread que me permite rellenar un contador(lo he hecho static, no debería, pero no sé que hacer).

A la barra le he dado el valor del contador, pero no sé como refrescarla. Hice una función, la cual metí en el while del contador del thread, pero no me deja meterla ya que está en otra clase.

Estoy muy verde :(
  • Volver arriba

galletone
  • galletone

  • Zodiark

  • vida restante: 75%
  • Registrado: 28 ene 2004
  • Mensajes: 5.203
#6

Escrito 18 enero 2013 - 15:48

He hecho un thread que me permite rellenar un contador(lo he hecho static, no debería, pero no sé que hacer).

A la barra le he dado el valor del contador, pero no sé como refrescarla. Hice una función, la cual metí en el while del contador del thread, pero no me deja meterla ya que está en otra clase.

Estoy muy verde :(


Para poder refrescar la barra de progreso desde el thread le puedes pasar al constructor del thread la referencia al objeto de la barra de progreso. Y luego desde el bucle del thread debes ir llamando al metodo setValue de la barra de progreso. Debes setear previamente con los metodos setMinimum y setMaximum los valores minimo y maximo del contador para que la barra te calcule el porcentaje de progreso correctamente.
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#7

Escrito 18 enero 2013 - 16:42

Están puestos el mínimo y máximo, pero en la barra saldrán "minutos" no porcentaje.


La cosa es que no me deja llamar a la función que está en otra clase. Y claro, algo falla, pero después de darle vueltas ya ni sé que hago.
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#8

Escrito 22 enero 2013 - 16:28

Bueno, ya he conseguido que la barra de tiempo se mueva correctamente, además cuando acaba he hecho que me salga una ventanita diciendo que ha finalizado el partido.

He usado threads y la clase donde está el thread es la que llama al simulador.

El problema ahora es, que no consigo hacer que los botones que pausan y vuelven a arrancar el contador funcionen correctamente.

El botón que cambia el boolean del while del thread a true no rearranca el contador. Es decir, lo pulso una vez, pero cuando lo pauso ya deja de ir.
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#9

Escrito 29 enero 2013 - 21:19

Voy avanzado :)
Se pueden hacer cambios de jugadores y demás.

La barra de tiempo se mueve correctamente y comienza cuando acepto los primeros cambios, el problema es que luego ya aunque pause continua hasta que acabe.
Con hilo.resume(); e hilo.suspend(); funciona
El problema es que parece ser que no es recomendado usar eso y en el futuro puede darme problemas. Así que sigo intentando con el while y un boolean que lo active y desactive, pero nada....



Aparte he encontrado un SDK que tiene como base NetBeans llamado jMonkeyEngine, os suena? qué os parece?
  • Volver arriba

logame
  • logame

  • HARENA TIGRIS

  • vida restante: 100%
  • Registrado: 24 ago 2006
  • Mensajes: 35.790
#10

Escrito 11 febrero 2013 - 18:07

Nuevo fallo:
me ocurre en el pc de sobremesa, y no en el portatil que es donde inicié el proyecto. Tengo un jdialog que se me abre al comienzo y lo cierro y reabro con esa pausa antes comentada. El fallo es que todos los componentes se vuelven negros, y solo se ven si paso el ratón por encima o hago cambios que muevan los componentes.

¿Porqué?
  • Volver arriba


  • Nuevo tema
  • Por favor identifícate para responder
Publicidad
Publicidad

0 usuarios están leyendo este tema

0 miembros, 0 invitados, 0 usuarios anónimos