Skip to content

jmfdiazAL/PSP-Tema-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSP-Tema-2

Ejemplos numerados

Estos ejemplos se numeran como los apartados respectivos de los apuntes.

Cronómetro

Este ejemplo muestra el uso de Threads con Swing. Están las siguientes variaciones:

  • Cronometro. Este ejemplo muestra el uso de un Thread en el dispatcher del evento del botón. Todo funciona bien si no pulsamos el botón Start mientras se está ejecutando, se instanciará un nuevo objeto Thread t cada vez que pulsemos el botón Start. Una solución rápida es deshabilitar el botón Start, tan sólo tenemos que descomentar las líneas que tienen las instruccionesbtnReset.setEnabled(). También podíamos haber puesto una comprobación del tipo if (t==null) antes de instanciar la variable.
  • Cronometro2. Una solución más elegante es lanzar el Thread desde el constructor de la clase principal. Aquí hemos hecho algunas modificaciones tales como quitar la comprobación if (t==null), ya que al hacerse en el constructor se hace sólo una vez, y cambiar el ciclo por while (true), con lo que el Thread nunca terminará, pero se añade un if (isRunning) para aumentar o no la cuenta.
  • CronometroT. Como no es recomendable usar Thread.sleep()en el EDT (Event Dispatch Thread ) de Swing ya que se podría bloquear la UI, se usa la clase javax.swing.Timer que nos permite usar los métodos start()y stop() en los listeners de los botones. La ejecución del código se hace en un método que recibe ActionEvent que se lanza cada cierto tiempo, cantidad junto con el método que se pasa al constructor de la clase Timer. En esta solución
  • CronometroT2. El método anterior también tiene que llevar la comprobación if (t==null), por lo que se mueve la creación del objeto Timer t al constructor de la clase principal.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages