elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Temas
Páginas: 1 [2]
11  Programación / Java / Mi SwingWorker no se cancela en: 29 Agosto 2013, 10:07 am
Bien estoy puliendo una aplicación de shutdown y me e quedado atascado en un lugar.

Tengo el siguiente método que recoge los eventos de dos botones, cuando le doy a programar el apagado me inicia la variable time cogiendome los valores de tres JComboBox, time, es un SwingWorker que revisa la hora, supuestamente cuando yo le diese a cancelar, con el comando time.cancel(true) me tendría que detener el thread, pero no es así:

Código
  1. public void actionPerformed(ActionEvent evt) {
  2. CheckTime time = new CheckTime(hour.getSelectedIndex(), min.getSelectedIndex(), sec.getSelectedIndex());
  3. if(evt.getSource() == programShutdown && isStarted == false){
  4. System.out.println("iniciado!");
  5. time.execute();
  6. isStarted = true;
  7. } else if(evt.getSource() == cancelShutdown && isStarted == true){
  8. System.out.println("cancelado!");
  9. time.cancel(true);
  10. isStarted = false;
  11. }
  12.  
  13. }

Código
  1. package base;
  2.  
  3. import java.util.Calendar;
  4.  
  5. import javax.swing.SwingWorker;
  6.  
  7. public class CheckTime extends SwingWorker{
  8. private int copyHour;
  9. private int copyMin;
  10. private int copySec;
  11. public  CheckTime(int hour,int min, int sec){
  12. copyHour = hour;
  13. copyMin = min;
  14. copySec = sec;
  15. }
  16.  
  17. protected Object doInBackground() throws Exception {
  18. Calendar calendario;
  19. int thisHour;
  20. int thisMin;
  21. int thisSec;
  22. System.out.println("iniciado!");
  23. do{
  24. calendario = Calendar.getInstance();
  25. thisHour = calendario.get(Calendar.HOUR_OF_DAY);
  26. thisMin = calendario.get(Calendar.MINUTE);
  27. thisSec = calendario.get(Calendar.SECOND);
  28. try {
  29. Thread.sleep(1000);
  30. } catch (InterruptedException e) {
  31. System.out.println("Thread sleep de ChekcHour a fallado");
  32. }
  33. }while(copyHour != thisHour || copyMin != thisMin || copySec != thisSec);
  34. System.out.println("APAGATE!");
  35. return null;
  36. }
  37.  
  38. }
  39.  

Sospecho que puede ser, que como yo genero un new time, cada vez que le de o a cancel o a programar, al darle a cancel me cancela el que genera cancel, pero no el anterior que genere con el program, pero bueno quiero escuchar segundas opiniones.

Un saludo y gracias de antemano.
12  Programación / Java / Comprobar la hora en java en: 28 Agosto 2013, 16:05 pm
Bien tengo una duda, quería hacer un programa en el cual a la 1 de la mañana me apagase el ordenador por temas de ahorrar luz.

Bien esto ya esta echo, lo e echo con un bucle que me comprueba constantemente que hora es, y en el momento que la hora se pone a 1, me sale del bucle y me inicializa el apagado, simple.

El problema que tengo es el siguiente, en el momento que me empieza el bucle me consume demasiados recursos, y me gustaría saber si hay algún método para poder comprobar la hora constantemente sin necesidad de gastar tanta máquina.

Un saludo y gracias de antemano.
13  Programación / Java / Interfaz se congela en: 10 Agosto 2013, 20:45 pm
Bien, no pondré el código ya que es una parrafada, mi pregunta es muy simple y breve, procedo a exponerla:

Bien mi problema consiste en que, tengo una interfaz en swing, una tabla y un botón, bien al yo darle al botón me tiene que listar mediante una consulta a un bbdd en mysql una serie de registros, y esto lo hace muy bien, pero antes de mostrármelos se queda congelada toda la interfaz durante un breve momento mientras procesa la consulta, me gustaría saber si hay alguna técnica para evitar esta congelación.

Gracias de antemano.
Páginas: 1 [2]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines