Programación General > Java

 Ambiguedad Con Timers

(1/1)

Blizknight:
Hola como estais? el problema que tenia era de ambiguedad con el timer, creo que seria mejor que lo compilen y lo vean, explicar eso no se muxo



--- Código: Text ---/** Reloj.java*/ /*** */import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.util.Date;import java.text.*;import java.util.*; //agregue esta linea para lo del Gregorian calendar  public class Reloj extends JFrame { Date hora, fecha,f1,f2;String patrón, mod;JLabel jlbHoraActual, lbl; JButton btn;ActionListener al; Timer timer1, timer2;  SimpleDateFormat formato, format2;   public Reloj() {   jlbHoraActual = new JLabel();   getContentPane().setLayout(null);   setResizable(false);   setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);   //jlbHoraActual.setFont(new Font("Arial", 1, 24));   jlbHoraActual.setHorizontalAlignment(SwingConstants.CENTER);   jlbHoraActual.setText("00:00:00");   getContentPane().add(jlbHoraActual);   jlbHoraActual.setBounds(40, 90, 210, 40);      setSize(290, 260);      lbl = new JLabel("");   lbl.setBounds(40, 130, 210, 40);   getContentPane().add(lbl);   lbl.setBackground(Color.red);   lbl.setOpaque(true);      btn = new JButton("Time");   btn.setBounds(40, 170, 210, 40);   getContentPane().add(btn);               al = new ActionListener()   {     public void actionPerformed(ActionEvent e)    {           onTimer();     }   };   // Crear un temporizador e iniciarlo   timer1 = new Timer(1000, al);   timer1.start();    GregorianCalendar g = new GregorianCalendar();  long horas = g.get(GregorianCalendar.HOUR_OF_DAY);  long mins = g.get(GregorianCalendar.MINUTE);      lbl.setText(horas + mins);  //hasta aqui se inserto lo nuevo  /* timer2 = new Timer(1000, al);   timer2.start();*/     }   private void onTimer() {   hora = new Date();   patrón = "dd' de 'MMMM' del 'yy' 'hh:mm:ss";//dd:hh:mm:ss yy/mm/dd  dd.MMMMM.yy           formato = new SimpleDateFormat(patrón);   jlbHoraActual.setText(formato.format(hora));            /*fecha = new Date();   mod  = "dd' de 'MMMM' del 'yyyy ";      format2 = new SimpleDateFormat(mod);   lbl.setText(format2.format(fecha));*/ }     public static void main(String args[]) {   new Reloj().setVisible(true); } }  


saludos

jlsoriam:
Por eso no es bueno usar cargar todas las clases de un paquete usando el asterisco *, es mejor especificar cada clase que estamos usando.

Algunos IDEs como Netbeans brindan esa funcionalidad (opcion FixImports) que automaticamente llena los imports de todas las clases que esta utilizando.

En tu programa, esta es la cabecera de los imports.

import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.Timer;
import javax.swing.WindowConstants;

Y tambien, a la ultima linea del constructor la modifique asi:
lbl.setText(String.valueOf(horas + mins));
ya que no me compilaba.

Con estas modificaciones ya compilaba y ejecutaba.
Saludos

José

Navegación

[0] Índice de Mensajes

Ir a la versión completa