muy buena explicacion de como usar un Timer, ya lo probe de diferentes formas como mostrar consecutivamente 4 imagenes en un *JLabel* y asi se vallan cambiando en un interbalo de tiempo de 2 segundos...me parece muy util para darle un toque unico al condigo...me sirvio demasiado
@@pabelorlandochaparromanriq8077 tienes que usar el timer junto con un contador que valla pasando consecutivamente por ej: 1-2-3-4 y que tus imagenes tengan ese numero dentro del nombre y al terminar la secuencia del 1 al 4 vuelva al 1 y asi sucesivamente con el intervalo de tiempo que le coloques :D.espero te sirva
Gracias amigo, ultimamente no he subido videos pero quiero darme la oportunidad de hacerlo de nuevo. Por lo pronto, te invito a mis cursos de Java en udemy.com Si quieres más información, responde a este mensaje. Saludos.
Que tal Profe Javier, muchas gracias por compartir sus conocimientos, me encuentro haciendo un ejercicio de prueba para poner varios contadores de tiempo en un formulario, algo parecido a los contadores de ciber control, pero no consigo que cada contador muestre una hora diferente y tampoco puedo parar el proceso del conteo y luego volver a ponerlo en acción, cree posible brindar un video de ayuda que muestre una forma posible de realizar esto?, de antemano muchas gracias por la ayuda que me pueda brindar y el tiempo de leer este comentario.
Pregunta. Tengo un proyecto de hacer un loggin para ingresar datos a una base de datos. Pero quiero hacerlo diferente, y al jFrame del loggin despues de ingresar usuario quiero que antes de que salga la ventana para ingresar datos a la base de datos, salga una ventana donde pondré un gif, y con el timer quiero que esa ventana del gif se cierre cuando acabe y ya abrir el jFrame del formulario. ¿el método Timer lo pongo en el boton del loggin o en el jFrame del gif?
Pues básicamente tendrías que hacer un método que esté realizando esa consulta dentro de la tarea de timer. Es decir, lo invocas ahí dentro para que esa consulta se realicr cada cierto tiempo
@@ProfeJavier si, de hecho eso ando investigando... es que la idea era hacer una notificación de php a una ventana de java en una ip fija (redlocal)... pero con la idea del timer se me ocurre generar un programa java que se ejecute en el equipo y este realizando la consulta a la base de datos cada 30 minutos (aprox) y ver si tiene algún cambio (poner alguna bandera de alguna actividad que le haga falta por realizar en la pagina web)
no exactamente, pero puedes interrumpir o detener el Timer y llevar un contador de tiempo dentro del run. Esta respuesta de stackoverflow puede ayudar stackoverflow.com/questions/1409116/how-to-stop-the-task-scheduled-in-java-util-timer-class
@@ProfeJavier Muchas gracias por contestar! Eso es lo que hice pero no logro hacer que funcione, no se si lo estoy haciendo bien. Tengo un JFrame con algunos componentes, pero luego cree otra clase en donde queria probar el Timer para ver un Jlabel de mi JFrame cambiando de imagen cada segundo, el timer funciona bien porque estoy importando mi JFrame a la clase timer, pero quiero hacer lo contrario; es decir, que desde el JFrame (que se habre desde un jmenuItem) automaticamente comience a hacer lo de mi clase Timer. En que de mi JFrame debo implementar a esa clase Timer, o como es la manera correcta?
@@ProfeJavier OK,de la clase que hace de Timer tengo lo siguiente: package modelo; import javax.swing.Icon; import javax.swing.ImageIcon; import java.util.Timer; import java.util.TimerTask; import vista.PedidosAutorizados; // Este es mi formulario en donde quiero que esta clase se inicie. public class ActualizaPantalla { static int contador = 0; public static void main(String[] args) { int velocidad = 2; Timer timer; TimerTask tarea; int velmil = velocidad * 1000; PedidosAutorizados actualiza = new PedidosAutorizados(); actualiza.setVisible(true); tarea = new TimerTask() { @Override public void run() { Icon icono; switch (contador) { case 0: contador = 1; icono = new ImageIcon(getClass().getResource("/imagenes/cero.png")); actualiza.jLabel3.setIcon(icono); break; case 1: contador = 2; icono = new ImageIcon(getClass().getResource("/imagenes/veinte.png")); actualiza.jLabel3.setIcon(icono); break; case 3: contador = 0; icono = new ImageIcon(getClass().getResource("/imagenes/cien.png")); actualiza.jLabel3.setIcon(icono); break; } } }; timer = new Timer(); timer.scheduleAtFixedRate(tarea, velmil, velmil); } } Nota: Si yo corro esta clase, funciona bien porque estoy llamando al JFrame, pero esto no e sirve porque cuando ya yo corro mi programita desde el inicio (el cual es otro formulario) el "Timer" no funciona. AHORA ESTE ES EL FORMULARIO EN DONDE TENGO UN JLabel al cual le puse una imagen y esa imagen va a cambiar cada segundo por otra imegen (eso de acuerdo a la clase que hace de timer ). package vista; import java.awt.event.KeyEvent; import modelo.ActualizaPantalla;// Esta es la clase que tiene el timer import modelo.Cls_AsignarPedidos; public class PedidosAutorizados extends javax.swing.JFrame{ private final Cls_AsignarPedidos CP; //private final ActualizaPantalla AC; ActualizaPantalla timer = new ActualizaPantalla(); /** * Creates new form PedidosAutorizados */ public PedidosAutorizados() { initComponents(); CP = new Cls_AsignarPedidos(); //AC = new ActualizaPantalla(); listar();
} Este JFrame tiene mas componentes, tales como una tabla, botones, etc, y lo que yo le quiero agregar a este JFrame es la funcionalidad esa que hace la Clase "ActualizarPantalla" (Timer), pero básicamente creo que con esto es suficiente para que me entiendas verdad? Y pues viendo tu video, me gustó la idea de poder agregar la fecha y hora actual en ese JFrame. Solo que no se como llamar a la clase..jeje disculpa mi ignorancia, soy novata.
no te preocupes.... mira, va a estar difícil ayudarte por este medio. Búscame en skype como biochemistry43@hotmail.com, programamos una llamada, me compartes pantalla y ahí te ayudo.
ayuda regalame por fa una idea sobre como hacer timer pero con salida en pantalla de imagenes para medir la reaccion del usuario todo por un limite de segundos te los agradeceria como debo hacerlo
@@ProfeJavier gracias por responder . pues en realidad se trata sobre hacer un programa psicosensometrico. ya se que evalúa cada prueba, consiste en una imagen que saldrá en pantalla el usuario deberá reaccionar esta imagen saldrá por un limite de tiempo y se evaluara cuanto tiempo demoro el usuario en reaccionar a partir de la salida en pantalla por favor regale me una orientación una idea que debo hacer que métodos implementar se lo agradeceri
ok ya ya. Mira, honestamente no hay una "respuesta rápida" a lo que comentas pero puedo darte alguna guía. Sin embargo, no puedo darte ninguna guía pienso yo si no me dices qué tienes hecho... no sé... se me dificulta responder esto así nada más jaja
@@ProfeJavier no tengo hecho nada solo e estado investigando con que metodos se debe realizar lo que unico que hice fue hacer mostrar en pantalla una horario atada a un dia y una hora con timers si me pudieras dar una pequeña guia o como deberia empezar que metodos aplicar se que es mucho joder de mi parte pero por fa si son mis pasantias ayudame si claro no quiero que me des el codigo o algo asi solo quiero una guia un asesoramiento
ok bueno... a primera instancia se me ocurre sea una aplicación con swing porque web tendría que ser con Javascript. Bueno... para las imágenes puedes utilizar el método setIcon de los JLabel. Hay como 100 mil sitios que hablan de eso XD pero acá te dejo uno. www.discoduroderoer.es/poner-imagen-en-un-jlabel-en-java/ Básicamente tendrías que usar el método setIcon de JLabel. El timer se presta bien para este propósito puede dentro del método run del timer (como lo muestro en este video precisamente), puedes ir cambiando la imagen del JLabel en cada iteración del timer. También puedes utilizar el timer de swing y de hecho puede que se adapte mejor a lo que necesitas. docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html docs.oracle.com/javase/tutorial/uiswing/misc/timer.html Se me ocurre que tengas una variable global que se actualice dependiendo de qué imagen se esté mostrando, así sabrás cuál es la imagen a la que se está reaccionando. Aparte de esto, no sabría por ahora qué mas decirte :(
Hola que tal maestro, muchas gracias por sus videos, me han servido mucho, que me sugiere hacer, estoy trabajando con sesiones y necesito saber cuánto tiempo se tiene trabajando la sesión con java, eso puede ser posible? Espero me pueda ayudar u orientar maestro, de antemano muchas gracias, saludos
También chécate el método getCreationTime() docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html#getCreationTime-- Si necesitas calcular exáctamente el tiempo que llevas en la sesión, utiliza el valor de getCreationTime() para calcularlo.
@@ProfeJavier muchas gracias maestro, voy a checar esa información y le cuento que tal, le agradezco mucho el que me haya orientado, saludos y bendiciones
una consulta he realizado un .jar luego lo convierto con ikvm para que sea compatible con microsoft. el .jar lo que hace es abrir el almacen de firmas keyStore.getinstance("Windows-MY") . esto si lo corro desde java funciona, pero al ejecutarlo con microsoft no devuelve nada. Revisando la web veo que es un tema de seguridad pero no se is al .jar debo declararle algunas directivas asi como se hace en la programacion movil dond uno define la direcitva de acceso a camaras,, gps etc. Sabes algo al respecto
Hola Agustín, lamentablemente no tengo experiencia en lo que mencionas. Lo que no comprendo es porqué utilizas ikvm sin Java es multiplataforma ¿De qué me estoy perdiendo?
@@agustintambo6701 Ahora bien, yo lo que haría es mandar mensajes como objetos serializados a mi aplicación en C# y me olvido de convertir un .jar en un dll
@@ProfeJavier Lo que necesito es usar la funcionalidad del .jar es por eso que lo referencio en mi proyecto de c# para luego consumirlo. Tienes algun ejemplo de lo que tu me indicas de pasarle mensajes serializados. Te agradezco por tu respuesta. si la verdad mi fuerte no es java.
Hola, muy bueno, pulgar arriba y ya me suscribí. Una consulta: Estoy haciendo un juego de puzle y necesito desplazar botones, podría lograr este efecto con timer o me recomendas otra forma? en caso afirmativo como detendría el timer?
Amigo tienes idea de si podemos cambiar de alguna manera la imagen del fondo de los botones de un JOptionPane.showOptionDialog: es decir que ahora que tenemos botones personalizados podamos poner una imagen en ese nuevo boton creado.
Supongamos que en vez de usar la clase Timer se usa la clase Thread con Thread.sleep(1000), ¿esto puede producir un retraso? Es decir, la cuenta puede adelantarse o atrasarse (no estoy muy seguro de esto). ¿Timer es más eficiente para crear un cronómetro que Thread?
Excelente pregunta. En realidad, no es que la clase abstracta sea instanciada sino que estamos creando algo que se llama "clase anónima". Esta técnica aplica para cualquier clase abstracta o interfaz en realidad. Una opción que tendríamos es hacer esto: class MiTimerTask extends TimerTask { //Ahora estoy obligado a implementar los métodos abstractos @override public void run() { //alguna implementación... } } Lo que estamos haciendo en el video, se podría decir que es lo mismo pero sin crear una clase en particular, por eso se le llama "clase anónima". No es que estemos instanciando la clase abstracta, si ese fuese el caso, la sintaxis sería TimerTask task = new TimerTask(); // hasta ahí. En cambio, lo que estamos haciendo es creando un objeto de una implementación de TimerTask ¿Cuál implementación? La que se sigue inmediatamente después de la creación de la instancia. Esta... { @override public void run() { //alguna implementación... } } Por eso, finalmente TimerTask task = new TimerTask() // ---a partir de aquí, la implementación de la clase anónima { @override public void run() { //alguna implementación... } } Esta técnica igual aplica para interfaces y clases abstractas. El requisito es que la clase anónima debe implementar todos los métodos abstractos como se haría normalmente en cualquier otra clase.
Me salvaste el proyecto
Lo usé para un Tamagotchi, me ayudó mucho.
¡Muchas gracias Profe Javier! Pasan los años pero no la calidad de tus vídeos. Saludos desde España
Gracias Crack Hoy en 2022 Tu contenido sigue siendo muuuyy Valioso !!! saludos desde bsas Argentina
Amigo, aunque ha pasado casi un año de este vídeo, me sirvió muchísimo, es un gran aporte y muy bien explicado.
Tiene un rato que no tocaba mi canal. Gracias por tu comentario.
Muchas gracias, me fué de mucha utilidad. Felicitaciones, muy bien explicado.
Gran vídeo, me ayudó a entender el timer! Gracias!
Muy buena explicación =), me sirve mucho para animaciones pequeñas en mi interfaz gráfica
muy buena explicacion de como usar un Timer, ya lo probe de diferentes formas como mostrar consecutivamente 4 imagenes en un *JLabel* y asi se vallan cambiando en un interbalo de tiempo de 2 segundos...me parece muy util para darle un toque unico al condigo...me sirvio demasiado
¿Como lo hiciste?
Necesito exactamente lo mismo y nose como hacerlo
@@pabelorlandochaparromanriq8077 tienes que usar el timer junto con un contador que valla pasando consecutivamente
por ej: 1-2-3-4 y que tus imagenes tengan ese numero dentro del nombre y al terminar la secuencia del 1 al 4 vuelva al 1 y asi sucesivamente con el intervalo de tiempo que le coloques :D.espero te sirva
@@brandonalexis8263 Umm no tendrás tu código por hay? es que enserio lo necesito para un proyecto.
mi correo es: pabelorlandoch@gmail.com
En pocas palabras, muchas gracias colega.
Para servirte
Excelente video me ha ayudado mucho. Gracias y sigue ayudando a todos
Gracias amigo, ultimamente no he subido videos pero quiero darme la oportunidad de hacerlo de nuevo. Por lo pronto, te invito a mis cursos de Java en udemy.com Si quieres más información, responde a este mensaje. Saludos.
Puuufff... tiene no sé cuánto que no subo nada a mi canal. Ojalá pueda retomarlo pronto.
Me sirvió un montón el video, gracias!!
Mis respetos loco, enseñas muy bien
Gracias :)
muy buen vídeo, me sirvió de mucho, pero la duda que tengo es que como puedo detener la ejecución del timer despúes de inicialisarlo
De muchas formas, ya sea usando condicionales o tambien el metodo timer. Cancel que es sirve para cancelar la ejecución de la tarea
Excelente explicación
Muy bien explicado,gracias me ayudo bastante .
Que tal Profe Javier, muchas gracias por compartir sus conocimientos, me encuentro haciendo un ejercicio de prueba para poner varios contadores de tiempo en un formulario, algo parecido a los contadores de ciber control, pero no consigo que cada contador muestre una hora diferente y tampoco puedo parar el proceso del conteo y luego volver a ponerlo en acción, cree posible brindar un video de ayuda que muestre una forma posible de realizar esto?, de antemano muchas gracias por la ayuda que me pueda brindar y el tiempo de leer este comentario.
crack, fiera. nuevo sub papu
Pregunta.
Tengo un proyecto de hacer un loggin para ingresar datos a una base de datos. Pero quiero hacerlo diferente, y al jFrame del loggin despues de ingresar usuario quiero que antes de que salga la ventana para ingresar datos a la base de datos, salga una ventana donde pondré un gif, y con el timer quiero que esa ventana del gif se cierre cuando acabe y ya abrir el jFrame del formulario.
¿el método Timer lo pongo en el boton del loggin o en el jFrame del gif?
muchas gracias primero habia visto el Thread y ahora el Timer, si me gustaria saber la diferencia.
Gracias.
como consultar en mysql con timers? cuando un valor sea igual a 0 no mostrar ventana y si tiene 1 mostrar ventana
Pues básicamente tendrías que hacer un método que esté realizando esa consulta dentro de la tarea de timer. Es decir, lo invocas ahí dentro para que esa consulta se realicr cada cierto tiempo
@@ProfeJavier si, de hecho eso ando investigando... es que la idea era hacer una notificación de php a una ventana de java en una ip fija (redlocal)... pero con la idea del timer se me ocurre generar un programa java que se ejecute en el equipo y este realizando la consulta a la base de datos cada 30 minutos (aprox) y ver si tiene algún cambio (poner alguna bandera de alguna actividad que le haga falta por realizar en la pagina web)
Timer es un hilo o forma parte de ellos???
Un gran like ! Me sirvió mucho para verificar notificaciones :v
muy buen video una consulta ¿se puede agregar un tiempo de termino también?
no exactamente, pero puedes interrumpir o detener el Timer y llevar un contador de tiempo dentro del run. Esta respuesta de stackoverflow puede ayudar stackoverflow.com/questions/1409116/how-to-stop-the-task-scheduled-in-java-util-timer-class
Buen video
Gracias amigo
Gracias bro
Buenas noches espero pueda ayudarme, no me deja usar "TIMER"
si no tengo esa opción de Timer schedule(la de la variable long delay) necesito bajar una libreria?
Para nada amigo, algo te está fallando ñor ahí en tu código
import java.util.Timer;
Se que es tonta mi pregunta, pero como llamo a esta clase timer en otro jframe previamente hecho y que muestre la fecha en un jlabel.....??....
Importas la clase en el otro JFrame y creas una instancia de esta clase.
También te recomiendo explorar la clase Timer pero del paquete swing
@@ProfeJavier Muchas gracias por contestar!
Eso es lo que hice pero no logro hacer que funcione, no se si lo estoy haciendo bien. Tengo un JFrame con algunos componentes, pero luego cree otra clase en donde queria probar el Timer para ver un Jlabel de mi JFrame cambiando de imagen cada segundo, el timer funciona bien porque estoy importando mi JFrame a la clase timer, pero quiero hacer lo contrario; es decir, que desde el JFrame (que se habre desde un jmenuItem) automaticamente comience a hacer lo de mi clase Timer.
En que de mi JFrame debo implementar a esa clase Timer, o como es la manera correcta?
@@MR-nm3vq muestrame el Código de tus clases
@@ProfeJavier OK,de la clase que hace de Timer tengo lo siguiente:
package modelo;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import java.util.Timer;
import java.util.TimerTask;
import vista.PedidosAutorizados; // Este es mi formulario en donde quiero que esta clase se inicie.
public class ActualizaPantalla {
static int contador = 0;
public static void main(String[] args) {
int velocidad = 2;
Timer timer;
TimerTask tarea;
int velmil = velocidad * 1000;
PedidosAutorizados actualiza = new PedidosAutorizados();
actualiza.setVisible(true);
tarea = new TimerTask() {
@Override
public void run() {
Icon icono;
switch (contador) {
case 0:
contador = 1;
icono = new ImageIcon(getClass().getResource("/imagenes/cero.png"));
actualiza.jLabel3.setIcon(icono);
break;
case 1:
contador = 2;
icono = new ImageIcon(getClass().getResource("/imagenes/veinte.png"));
actualiza.jLabel3.setIcon(icono);
break;
case 3:
contador = 0;
icono = new ImageIcon(getClass().getResource("/imagenes/cien.png"));
actualiza.jLabel3.setIcon(icono);
break;
}
}
};
timer = new Timer();
timer.scheduleAtFixedRate(tarea, velmil, velmil);
}
}
Nota: Si yo corro esta clase, funciona bien porque estoy llamando al JFrame, pero esto no e sirve porque cuando ya yo corro mi programita desde el inicio (el cual es otro formulario) el "Timer" no funciona.
AHORA ESTE ES EL FORMULARIO EN DONDE TENGO UN JLabel al cual le puse una imagen y esa imagen va a cambiar cada segundo por otra imegen (eso de acuerdo a la clase que hace de timer ).
package vista;
import java.awt.event.KeyEvent;
import modelo.ActualizaPantalla;// Esta es la clase que tiene el timer
import modelo.Cls_AsignarPedidos;
public class PedidosAutorizados extends javax.swing.JFrame{
private final Cls_AsignarPedidos CP;
//private final ActualizaPantalla AC;
ActualizaPantalla timer = new ActualizaPantalla();
/**
* Creates new form PedidosAutorizados
*/
public PedidosAutorizados() {
initComponents();
CP = new Cls_AsignarPedidos();
//AC = new ActualizaPantalla();
listar();
}
private void listar(){
jTable_PedAutorizados.setModel(CP.getDatos());
}
Este JFrame tiene mas componentes, tales como una tabla, botones, etc, y lo que yo le quiero agregar a este JFrame es la funcionalidad esa que hace la Clase "ActualizarPantalla" (Timer), pero básicamente creo que con esto es suficiente para que me entiendas verdad?
Y pues viendo tu video, me gustó la idea de poder agregar la fecha y hora actual en ese JFrame. Solo que no se como llamar a la clase..jeje disculpa mi ignorancia, soy novata.
no te preocupes.... mira, va a estar difícil ayudarte por este medio. Búscame en skype como biochemistry43@hotmail.com, programamos una llamada, me compartes pantalla y ahí te ayudo.
Alguien sabe como podria utilizar esto para actualizar un JTable en tiempo real?
Si se puede pero funciona mejor el timer de swing para eso. Funciona de manera similar.
docs.oracle.com/javase/tutorial/uiswing/misc/timer.html
@@ProfeJavier Gracias profe
ayuda regalame por fa una idea sobre como hacer timer pero con salida en pantalla de imagenes para medir la reaccion del usuario todo por un limite de segundos te los agradeceria como debo hacerlo
Hola Matt. Casi estoy seguro que necesitarás el Timer que pertenece a swing pero... dame un poco más de detalle sobre lo que quieres hacer :)
@@ProfeJavier gracias por responder .
pues en realidad se trata sobre hacer un programa psicosensometrico.
ya se que evalúa cada prueba, consiste en una imagen que saldrá en pantalla el usuario deberá reaccionar esta imagen saldrá por un limite de tiempo y se evaluara cuanto tiempo demoro el usuario en reaccionar a partir de la salida en pantalla
por favor regale me una orientación una idea que debo hacer que métodos implementar se lo agradeceri
ok ya ya. Mira, honestamente no hay una "respuesta rápida" a lo que comentas pero puedo darte alguna guía.
Sin embargo, no puedo darte ninguna guía pienso yo si no me dices qué tienes hecho... no sé... se me dificulta responder esto así nada más jaja
@@ProfeJavier no tengo hecho nada solo e estado investigando con que metodos se debe realizar lo que unico que hice fue hacer mostrar en pantalla una horario atada a un dia y una hora con timers si me pudieras dar una pequeña guia o como deberia empezar que metodos aplicar se que es mucho joder de mi parte pero por fa si son mis pasantias ayudame si
claro no quiero que me des el codigo o algo asi solo quiero una guia un asesoramiento
ok bueno... a primera instancia se me ocurre sea una aplicación con swing porque web tendría que ser con Javascript.
Bueno... para las imágenes puedes utilizar el método setIcon de los JLabel. Hay como 100 mil sitios que hablan de eso XD pero acá te dejo uno.
www.discoduroderoer.es/poner-imagen-en-un-jlabel-en-java/
Básicamente tendrías que usar el método setIcon de JLabel. El timer se presta bien para este propósito puede dentro del método run del timer (como lo muestro en este video precisamente), puedes ir cambiando la imagen del JLabel en cada iteración del timer. También puedes utilizar el timer de swing y de hecho puede que se adapte mejor a lo que necesitas.
docs.oracle.com/javase/7/docs/api/javax/swing/Timer.html
docs.oracle.com/javase/tutorial/uiswing/misc/timer.html
Se me ocurre que tengas una variable global que se actualice dependiendo de qué imagen se esté mostrando, así sabrás cuál es la imagen a la que se está reaccionando.
Aparte de esto, no sabría por ahora qué mas decirte :(
Hola que tal maestro, muchas gracias por sus videos, me han servido mucho, que me sugiere hacer, estoy trabajando con sesiones y necesito saber cuánto tiempo se tiene trabajando la sesión con java, eso puede ser posible? Espero me pueda ayudar u orientar maestro, de antemano muchas gracias, saludos
Hola, te refieres a sesiones web?
@@ProfeJavier si maestro, estoy trabajando con java web, primefaces y jsf
@@juya06 chécate este link www.arquitecturajava.com/java-httpsession-timeout/
También chécate el método getCreationTime() docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html#getCreationTime--
Si necesitas calcular exáctamente el tiempo que llevas en la sesión, utiliza el valor de getCreationTime() para calcularlo.
@@ProfeJavier muchas gracias maestro, voy a checar esa información y le cuento que tal, le agradezco mucho el que me haya orientado, saludos y bendiciones
una consulta he realizado un .jar luego lo convierto con ikvm para que sea compatible con microsoft. el .jar lo que hace es abrir el almacen de firmas keyStore.getinstance("Windows-MY") . esto si lo corro desde java funciona, pero al ejecutarlo con microsoft no devuelve nada. Revisando la web veo que es un tema de seguridad pero no se is al .jar debo declararle algunas directivas asi como se hace en la programacion movil dond uno define la direcitva de acceso a camaras,, gps etc. Sabes algo al respecto
Hola Agustín, lamentablemente no tengo experiencia en lo que mencionas. Lo que no comprendo es porqué utilizas ikvm sin Java es multiplataforma ¿De qué me estoy perdiendo?
@@ProfeJavier hola gracias por tu respuesta uso ikvm para convertir un .jar en un .dll para consumirla en un proyecto microsoft
Ya veo, la verdad si te fallo amigo pues yo con Microsoft estoy peleado.
@@agustintambo6701 Ahora bien, yo lo que haría es mandar mensajes como objetos serializados a mi aplicación en C# y me olvido de convertir un .jar en un dll
@@ProfeJavier Lo que necesito es usar la funcionalidad del .jar es por eso que lo referencio en mi proyecto de c# para luego consumirlo. Tienes algun ejemplo de lo que tu me indicas de pasarle mensajes serializados. Te agradezco por tu respuesta. si la verdad mi fuerte no es java.
podría hacer un programa donde se sincronice reloj
Hola, muy bueno, pulgar arriba y ya me suscribí. Una consulta: Estoy haciendo un juego de puzle y necesito desplazar botones, podría lograr este efecto con timer o me recomendas otra forma? en caso afirmativo como detendría el timer?
Amigo tienes idea de si podemos cambiar de alguna manera la imagen del fondo de los botones de un JOptionPane.showOptionDialog: es decir que ahora que tenemos botones personalizados podamos poner una imagen en ese nuevo boton creado.
Si se puede
Supongamos que en vez de usar la clase Timer se usa la clase Thread con Thread.sleep(1000), ¿esto puede producir un retraso? Es decir, la cuenta puede adelantarse o atrasarse (no estoy muy seguro de esto). ¿Timer es más eficiente para crear un cronómetro que Thread?
Disculpa, tengo un rato sin tocar mi canal. Supongo que ya resolviste eso haha
creo que ya no existe constructor vacio en la clase Timer
require int,actionListener
Sabemos que las clases abstractas no pueden ser instanciadas. Si TimerTask es una clase abstracta ¿Porque TimerTask logra ser instanciada?
Excelente pregunta.
En realidad, no es que la clase abstracta sea instanciada sino que estamos creando algo que se llama "clase anónima". Esta técnica aplica para cualquier clase abstracta o interfaz en realidad.
Una opción que tendríamos es hacer esto:
class MiTimerTask extends TimerTask {
//Ahora estoy obligado a implementar los métodos abstractos
@override
public void run() {
//alguna implementación...
}
}
Lo que estamos haciendo en el video, se podría decir que es lo mismo pero sin crear una clase en particular, por eso se le llama "clase anónima".
No es que estemos instanciando la clase abstracta, si ese fuese el caso, la sintaxis sería
TimerTask task = new TimerTask(); // hasta ahí.
En cambio, lo que estamos haciendo es creando un objeto de una implementación de TimerTask ¿Cuál implementación? La que se sigue inmediatamente después de la creación de la instancia.
Esta...
{
@override
public void run() {
//alguna implementación...
}
}
Por eso, finalmente
TimerTask task = new TimerTask() // ---a partir de aquí, la implementación de la clase anónima
{
@override
public void run() {
//alguna implementación...
}
}
Esta técnica igual aplica para interfaces y clases abstractas. El requisito es que la clase anónima debe implementar todos los métodos abstractos como se haría normalmente en cualquier otra clase.
@@ProfeJavier Muchas gracias profesor invaluable el conocimiento que nos proporciona.
no me aparece schedule
Hola José Luis, revisa tu import. Es probable que hayas importado de un paquete diferente
y como paro pues chch
El Timer me sale con método abstracto para implementar , usted no le sale.
Solo consola
Gracias bro