Foro Oficial de Java

Jesus_ADS

Lanero Regular
12 May 2006
44
[WT]Pollux dijo:
Podrias hacerlo implementando la interfaz KeyListener y capturando al entrada de datos al campo de texto, asi, podes ver que caracter te ingresan y cuantos tratan de ingresar.

Otra opcion es esperar a que el usuario digite toda la informacion y luego, capturar el String y si su longitud es mayor que 1 se decarta, sino, ese unico caracter es verificado para saber si es numerico, si lo es, sola hay que ver si esta en el rango requerido.


Listo... Implemente el KeyListener y me funciono muy bien... Gracias... :-p =)
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Como coloco un contador?

Hola,:-p nececito colocar un contador de tiempo durante la ejecucion de mi programa, es decir, cuando el usuario empiece a jugar (porque es un juego lo que estoy haciendo) necesito que se muestre el contador para que vea cuanto tiempo tarda en resolver el problema dado... Como lo podria hacer??:S
 

Yeison

Lanero Líder
Lanero VIP
1 Feb 2004
11,131
buenas, porteo porque sinceramente ya me canse de buscar en internet

programe un micro que me envia datos a travez del puerto serial, viendo la informacion con el hyperterminal funciona como ha de esperarce, pero necesito hacer una aplicacioncita java (visual) para que me muestre dichos datos, ya tengo echo la parte visual y el asunto (gracias eclipse), pero la pregunta es, como recojo los datos del puerto serial y colocarlos en un label???? ya me canse de buscar en internet

la idea seria cojer los datos del serial, guardar los datos string y pasarlos a int hacer un label.setText , pero no tengo idea de como recojer los datos del serial

alguna ayudita??

pues mira: primero que todo si estas utilizando Windows XP necesitas alguna utilidad que te desblokee los puertos del pc, ya que por defecto vienen blokeados, si la necesitas enviame un MP y la posteare aqui en el foro por si la necesitan...

Hay una clase ya hecha, yo la tengo, Luego es simplemente enviarle la direccion del puerto... la del paralelo es o378, la del serial no recuerdo pero se investiga... y luego simplemente se llaman los metodos read y write y ella misma hace todo... saludos.

muchachos.. he visto mucha participacion en este forito.. y creo que se ha ganado un stick.. en esta seccion salu2!!

(le ponemos la importancia debida)

pd.- ahh otra cosa.. estare depurando informacion innecesaria que exista.. para tener un mejor flujo de informacion salu2!!

jejejje Gracias WiFi por subir el foro a Importante!!! Ya lo necesitaba

Como valido la entrada de un jTextField???


Hola, necesito una ayudita... nececito validar que en un jTextField solo puedan introducir numeros del 1 al 9, y que solo sea uno, es decir, que en el campo solo se pueda intruducir un numero dentro de ese rango. Como hago? Gracias...

Para ti adjunto el archivo para que veas el uso de JFormattedTextField
 

Archivos adjuntos

  • jtft.zip
    635.4 KB · Visitas: 112

[WT]Pollux

Lanero Reconocido
6 Abr 2005
162
Jesus_ADS dijo:
Hola,:-p nececito colocar un contador de tiempo durante la ejecucion de mi programa, es decir, cuando el usuario empiece a jugar (porque es un juego lo que estoy haciendo) necesito que se muestre el contador para que vea cuanto tiempo tarda en resolver el problema dado... Como lo podria hacer??:S

Con un hilo que vaya modificando un JLabel, este ultimo puede mostrar un objeto tipo Time en formato de String
 

Whidney

Lanero Reconocido
27 Nov 2003
128
Jesus_ADS dijo:
Hola, necesito una ayudita... :-p nececito validar que en un jTextField solo puedan introducir numeros del 1 al 9, y que solo sea uno, es decir, que en el campo solo se pueda intruducir un numero dentro de ese rango. Como hago? :( Gracias...

jTextField .addKeyListener( new KeyAdapter(){
public void keyPressed(KeyEvent e){
char tecla=e.getKeyChar();
e.consume();
if(tecla>='0' && tecla<='9'){
jTextField.setText(""+tecla); }
}
}
);

Saludos, espero te sirva.
 

Jesus_ADS

Lanero Regular
12 May 2006
44
[WT]Pollux dijo:
Con un hilo que vaya modificando un JLabel, este ultimo puede mostrar un objeto tipo Time en formato de String

hola, a que te refieres con un hilo?:rolleyes: y lo otro seria algo asi?:

Time t = new Time(1000);
jLabel1.setText(t.toString());

pero en donde lo colocaria? en el windowActivated?? porque me interesa que siempre este visible e incrementandose hasta que termine de jugar.

Como haria para incrementar el tiempo y que siempre comience desde 00:00:00??:(

Gracias:-p
 

[WT]Pollux

Lanero Reconocido
6 Abr 2005
162
Jesus_ADS dijo:
hola, a que te refieres con un hilo?:rolleyes: y lo otro seria algo asi?:

Time t = new Time(1000);
jLabel1.setText(t.toString());

pero en donde lo colocaria? en el windowActivated?? porque me interesa que siempre este visible e incrementandose hasta que termine de jugar.

Como haria para incrementar el tiempo y que siempre comience desde 00:00:00??:(

Gracias:-p

Lo de hilo es de la clase Thread. podes crear una clase que herde de la clase Thread y se encargue de estar incrementando el contador o podes hacer que la clase que estas utilizando implemente Runnable.

Los hilo son para ejecutar tareas en paralelo. Por ejemplo, si oprimes un boton y ese evento ejecuta unciclo, hasta que no termine el ciclo, no tienes control sobre la interfaz grafica. Si utilizas un hilo, este ultimo realiza el ciclo, al mismo tiempo que puedes manipular la interfaz grafica (En realidad no es al mismo tiempo pero eso parece al ojo humano).

Para que el tiempo empiece en 00:00:00 se utiliza lo siguiente:

Time t = new Time(0,0,0);
JLabel l = new JLabel(t.toString());

Lo de la ubicacion, pues simplemente se lo adieres al panel contenedor, este se mostrara todo el tiempo.

Debes consultar acerca de la creacion y uso de hilos (Thread) para que lo del contador funcione.

Suerte
 

::EmiR::

Lanero Regular
1 Abr 2006
60
Jesus_ADS, pues es mas facil si solo usas la clase Timer, no veo la necesidad de crear toda una clase, si solo quieres visualizar una cuenta incremental de segundos, la clase timer se usa asi:

Timer temp;
temp = new Timer(retardo, this);
temp.start();

el primer argumento del constructor es el retardo del timer en milisegundos, el segundo es una referencia a una clase que implemente ActionListener, en el ejemplo usamos this, por que suponemos que la clase donde esta el timer implementa action listener, despues de eso, solo debes crear la funcion que recibira el evento que dispara el timer cada vez que pasa el retardo, asi:


public void actionPerformed(ActionEvent evt) {
//aqui las lineas que modifican el Jlabel o lo que necesites
//que se haga automaticamente cada intervalo...
}
 

Jesus_ADS

Lanero Regular
12 May 2006
44
[WT]Pollux dijo:
Lo de hilo es de la clase Thread. podes crear una clase que herde de la clase Thread y se encargue de estar incrementando el contador o podes hacer que la clase que estas utilizando implemente Runnable.

Los hilo son para ejecutar tareas en paralelo. Por ejemplo, si oprimes un boton y ese evento ejecuta unciclo, hasta que no termine el ciclo, no tienes control sobre la interfaz grafica. Si utilizas un hilo, este ultimo realiza el ciclo, al mismo tiempo que puedes manipular la interfaz grafica (En realidad no es al mismo tiempo pero eso parece al ojo humano).

Para que el tiempo empiece en 00:00:00 se utiliza lo siguiente:

Time t = new Time(0,0,0);
JLabel l = new JLabel(t.toString());

Lo de la ubicacion, pues simplemente se lo adieres al panel contenedor, este se mostrara todo el tiempo.

Debes consultar acerca de la creacion y uso de hilos (Thread) para que lo del contador funcione.

Suerte



Hola, intente hacer lo del Thread pero no entiendo unas cosas... Por lo que lei en el Api tengo que crear una clase que herede de Thread y despues sobre escribir su metodo run()

esto fue lo que hice(no funciono:( ):

import java.sql.Time;

public class Contador extends Thread {
public Time t;
private int h,m,s;

public Contador(long i) {
t = new Time(i);
t = Time.valueOf("00:00:00");
h = m = s = 0;
}

public void run(){
if(s < 60){
if(s==59){
s=0;
if(m<60){
if(m==59){
m=0;
if(h < 24){
if(h==23)
h=0;
else
h++;
}
}else
m++;
}
}else
s++;
}
t = Time.valueOf(h + ":" + m + ":" + s);
}
}


// lo llamo en un boton que lo activa asi...

Contador c = new Contador(1000);
c.start();
jLabel1.setText(c.t.toString());

pero no me funciona... No entiendo como mantener el ciclo del run:( me podrias indicar que hago mal??:(

Gracias:-p
 

::EmiR::

Lanero Regular
1 Abr 2006
60
ummm bueno ya que quieres trabajar con hilos, pues lo primero es que no estas realizando el control de bucle del hilo, me explico, el metodo run es como cualquier otro ejecuta linea a linea hasta la ultima instruccion y luego muere el hilo, para hacer lo de el tiempo debes crear un bucle dentro del metodo RUN() para mantener el hilo vivo, puede ser un while o for, asi:
public void run(){
while(condicion){
//instrucciones del thread...
}
}

asi ya realiza la funcion indefinidamente mientras se cumpla la condicion del while, por ejemplo mientras pausa!=true, como al parecer necesitas, y el segundo problema es que este hilo no detiene su ejecucion nunca, para esperar un "retardo", neceseario si lo que se quiere es contar tiempo, tiene que introducir estas instrucciones el final del bucle despues de realizar todo el trabajo de una iteracion:

try{
Thread.Sleep(1000) // ese 1000 son lo milisegundos que debe parar el hilo
}
catch(InteruptedExcetion e) {
//captura de exepciones posibles, si no quieres no hagas nada aqui
}

y con estas instrucciones aseguras que tu hilo ejecute una vez el bucle por segundo.
espero te sirva.
 

[WT]Pollux

Lanero Reconocido
6 Abr 2005
162
Jesus_ADS dijo:
Hola, intente hacer lo del Thread pero no entiendo unas cosas... Por lo que.....

Mira, primero que todo, lo que debias hacer dentro del metodo run era un ciclo infinito para que las variables se fueran incrementendo.
Lo segundo es que con solo incrementar los segundos es suficiente. Un objeto time con 0 horas, 0 minutos y 100 segundos muestra: 00:01:40.
Tercero. Lo que me parece mas conveniente es crear una clase que herede de JLabel e implemente la interfaz Runnable. Luego, creas un metod que se llama run, que esta definido en la interfaz mensionada. Como variable privada creas un objeto tipo Thread
y en el momento en que lo vas a utilizar lo instancias, dandole como argumento this.

PHP:
public class Counter extends JLabel Implements Runnable{
   private Thread hilo;.....
   public Counter(){
      hilo = new Thread(this);
   }......
   
   hilo.start();........

   
   public void run(){
      while(true){
         segundos++;
         t = new Time(0,0,segundos);
         setText(t.toString());
         try{
            Thread.sleep(1000);
          }catch(Exception e){
          }
      }
   }

}
 

Jesus_ADS

Lanero Regular
12 May 2006
44
Gracias

::EmiR:: dijo:
Jesus_ADS, pues es mas facil si solo usas la clase Timer, no veo la necesidad de crear toda una clase, si solo quieres visualizar una cuenta incremental de segundos, la clase timer se usa asi........


Hola no habia visto este comentario... Gracias :-p lo hice de esta forma y me funciono.. Intente hacerlo con la otra forma pero me volvi un (__|__) :( y lo tengo que entregar mañana, preferi dejarlo con lo que me funciono... De verdad Muchas Gracias por su Ayuda...:-p (seguire intentando lo del Thread a ver si lo logro =) )
 

anapaularueda

Lanero Regular
21 May 2006
13
Ayudita.

Hola chicos y chicas expertos en java en este foro...
Quiero obtener un tutorial o un manual en java, ya sea en ingles o en español.
Yo tengo un conocimiento en c++, y me gustaria aprender java, pero quiero un manual sencillo de leer y de aprender y entender.
He leido el foro y siempre que sale un tema de estos, la respùesta es que busque en google.. pues ya busque en google y salen 27.600 paginas, ahi lo fregado es que leer todas esas paginas para saber cual es el tutorial mas sencillo de entender es como dificil, y en emule me sale 142 manuales de java y 153 tutoriales en java, entonces???
Mi consulta es sencilla, de algun experto en java que sepa o que haya aprendido java por medio de un manual o tutorial facil de aprender o para dummies como se dice, estaria muy agradecida, deseo aprender java pero desde cero.
Agradezco cualquier ayuda.
Gracias
Ana Paula Rueda
Bucaramanga
 

m@uro

Lanero Regular
23 Sep 2005
36
Hola LANeros!!!

Despues de mucho tiempo vuelvo a comunicarme con ustedes, la verdad es ke necesito ayuda urgente, y espero ke me puedan ayudar.

Necesito hacer que un programa pueda reproducir una animacion hecha en flash, ya que hacer la animacion desde java seria mucho mas complejo y largo, y el tiempo no me alcanzaria, asi ke si alguien me puede decir como puedo hacer para reproducir esta animacion, se lo agradeceria muchisimo, o por lo menos me den un link de donde poder sacar esta informacion.
 

armandov

Lanero Regular
26 Abr 2006
44
hola, supongo que ustedrs son expertos en java, y quisiera pedirles algun tipo de manual para poder aprender, tengo conocimientos de c++, visual c++, ok , gracias de antemano por sus ayuda
 

m@uro

Lanero Regular
23 Sep 2005
36
armandov dijo:
hola, supongo que ustedrs son expertos en java, y quisiera pedirles algun tipo de manual para poder aprender, tengo conocimientos de c++, visual c++, ok , gracias de antemano por sus ayuda

Este es un pequeño manual con el ke te puedes empezar a familiarizar con el lenguaje, espero ke te sirva de algo
 

Archivos adjuntos

  • (ebook) - java, curso básico (spanish - español).rar
    558.2 KB · Visitas: 116

Sixto_Jose

Lanero Reconocido
7 Abr 2005
514
como están todos

este foro me parece muy bueno ya que podemos contar con todos para solucionar nuestras dudas y problemas.

Bueno mi caso es el siguiente tengo un codigo en JavaScript para capturar la fecha del sistema y necesito capturar esta fecha en una caja de texto tengo el archivo pero cuando doy clic en el boton para que me muestre la fecha en la caja de texto me la borra carga y me muestra la fecha pero enseguide borra la caja de texto quien me podría colaborar ya que estoy un poco crudo en JavaScript agradecería sus ayudas
Gracias.
dejo el archivo para que lo miren.
 

Archivos adjuntos

  • MIFORMATO.zip
    679 bytes · Visitas: 111

Yeison

Lanero Líder
Lanero VIP
1 Feb 2004
11,131
como están todos

este foro me parece muy bueno ya que podemos contar con todos para solucionar nuestras dudas y problemas.

Bueno mi caso es el siguiente tengo un codigo en JavaScript para capturar la fecha del sistema y necesito capturar esta fecha en una caja de texto tengo el archivo pero cuando doy clic en el boton para que me muestre la fecha en la caja de texto me la borra carga y me muestra la fecha pero enseguide borra la caja de texto quien me podría colaborar ya que estoy un poco crudo en JavaScript agradecería sus ayudas
Gracias.
dejo el archivo para que lo miren.

Para javascript hay un tema especializado, depronto aqui no le sepan dar informacion como se la darian alla-.
 

armandov

Lanero Regular
26 Abr 2006
44
m@uro dijo:
Este es un pequeño manual con el ke te puedes empezar a familiarizar con el lenguaje, espero ke te sirva de algo

gracias mano, ya lo estoy chekeando, veo que es similar a c++, y si no fuera mucha molestia, pedir mas tutoriales si es que tuviera. gracias
 

Tus temas seguidos