Atualizar Calendar em tempo real

11 respostas
Matheus_Prado

e ae galera
emplemetei hora e data em um programa meu aqui
mais não atualiza em tempo real

como faço.?

lbdata = new JLabel(); lbdata.setFont(new Font("Arial", Font.PLAIN, 30)); lbdata.setBounds(950, 20, 300, 30); Calendar c = Calendar.getInstance(); SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yy - hh : mm : ss"); lbdata.setText(sd.format(c.getTime()));

obrigado

11 Respostas

G

Quando você não precisa efetuar calculos na data, use Date. Quando houver calculos, aí sim use Date.

SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yy - hh : mm : ss"); lbdata.setText(sd.format(new Date()));

Mas… o que você quer dizer em “atualizar em tempo real”? Alterar o valor da data exibida a cada segundo?

Matheus_Prado

obrigado por responder

isso mesmo, atualizar por segundo

Matheus_Prado

e como faço tbm pra exibir em horario PM?

pq só exibe de 0 a 12.

G
e como faço tbm pra exibir em horario PM?
http://java.sun.com/javase/6/docs/api/java/text/SimpleDateFormat.html
dd/MM/yy - HH : mm : ss
isso mesmo, atualizar por segundo
final SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yy - HH:mm:ss");
ActionListener action = new ActionListener() {  
    public void actionPerformed(ActionEvent e) {
        lbdata.setText(sd.format(new Date())); // mostra a data atual
    }  
};

Timer t = new Timer(1000, action); // inicializa um timer a cada 1 segundo
t.start();
Matheus_Prado

obrigado mais uma vez

o horario PM deu certin,
mas nao to conseguindo implementar o contador

=/

G

Contador? Não era um calendário?

Você pode postar o código de sua classe?

Matheus_Prado

quando eu falei contador
foi na intenção calendario mesmo...

segue o codigo que estou trabalhando..

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;   
import java.util.*;
import java.io.*;
//import java.sql.*;

public class Menu extends JFrame implements ActionListener {

	JMenuBar barra;
	JMenu cliente, funcionario, fornecedor, venda, ferramentas, sistema;
	JMenuItem cadastrar_cliente, alterar_cliente, excluir_cliente, consultar_cliente;
	JMenuItem cadastrar_funcionario, alterar_funcionario, excluir_funcionario, consultar_funcionario;
	JMenuItem cadastrar_fornecedor, alterar_fornecedor, excluir_fornecedor, consultar_fornecedor;
	JMenuItem realizar_venda, consultar_venda;
	JMenuItem bloco_de_notas, calculadora, sobre;
	JMenuItem minimizar, sair;
	JLabel lbfundo, lbdata;
	ImageIcon fundo;

	public Menu(){

	    super("MP Soft 1.0");

     	//Dados do container
		Container tela = getContentPane();
		setLayout(null);
		setLocationRelativeTo(null);
        setExtendedState(MAXIMIZED_BOTH);
	    //setSize(200, 200);
	
		//Criando e inserindo a barra
		barra = new JMenuBar();
		setJMenuBar(barra);
		
		cliente = new JMenu("Cliente");
		cadastrar_cliente = new JMenuItem("Cadastrar Cliente");
		cadastrar_cliente.addActionListener(this);
		alterar_cliente = new JMenuItem("Alterar Cliente");
		excluir_cliente = new JMenuItem("Excluir Cliente");
		consultar_cliente = new	JMenuItem("Consultar Cliente");
		
		funcionario = new JMenu("Funcionário");
		cadastrar_funcionario = new JMenuItem("Cadastrar Funcionário");
		cadastrar_funcionario.addActionListener(this);
		alterar_funcionario = new JMenuItem("Alterar Funcionário");
		excluir_funcionario = new JMenuItem("Excluir Funcionário");
		consultar_funcionario = new	JMenuItem("Consultar Funcionário");
		
		fornecedor = new JMenu("Fornecedor");
		cadastrar_fornecedor = new JMenuItem("Cadastrar Fornecedor");
		alterar_fornecedor = new JMenuItem("Alterar Fornecedor");
		excluir_fornecedor = new JMenuItem("Excluir Fornecedor");
		consultar_fornecedor = new	JMenuItem("Consultar Fornecedor");		
		
		venda = new JMenu("Vendas");
		realizar_venda = new JMenuItem("Realizar Venda");
		consultar_venda = new JMenuItem("Consultar Venda");

		ferramentas = new JMenu("Ferramentas");
		bloco_de_notas = new JMenuItem("Bloco de Notas");
		bloco_de_notas.addActionListener(this);
		calculadora = new JMenuItem("Calculadora");	
        calculadora.addActionListener(this);		
		sobre = new JMenuItem("Sobre");
        sobre.addActionListener(this);

		sistema = new JMenu("Sistema");
		minimizar = new JMenuItem("Minimizar");
		minimizar.addActionListener(this);
		sair = new JMenuItem("Sair");	
        sair.addActionListener(this);		

		//Inserindo a imagem de fundo
		fundo = new ImageIcon("Fundo.jpg");
		lbfundo = new JLabel(fundo);
		lbfundo.setBounds(0, 0, 1300, 750);
		
        //Exibindo data e hora do sistema
		lbdata = new JLabel();
		lbdata.setFont(new Font("Arial", Font.PLAIN, 30));
		lbdata.setBounds(950, 20, 300, 30);
		Calendar c = Calendar.getInstance();   
        SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yy - HH : mm : ss");   
        lbdata.setText(sd.format(c.getTime()));

		
		//Adicionando os objetos
		barra.add(cliente); barra.add(funcionario); barra.add(fornecedor); barra.add(venda); barra.add(ferramentas); barra.add(sistema);
		cliente.add(cadastrar_cliente);	cliente.addSeparator(); cliente.add(alterar_cliente); 
		cliente.add(excluir_cliente); cliente.add(consultar_cliente);
		funcionario.add(cadastrar_funcionario);	funcionario.addSeparator(); funcionario.add(alterar_funcionario); 
		funcionario.add(excluir_funcionario); funcionario.add(consultar_funcionario);
		fornecedor.add(cadastrar_fornecedor); fornecedor.addSeparator(); fornecedor.add(alterar_fornecedor);  
		fornecedor.add(excluir_fornecedor); fornecedor.add(consultar_fornecedor);  
		venda.add(realizar_venda); venda.addSeparator(); venda.add(consultar_venda);
		ferramentas.add(bloco_de_notas); ferramentas.add(calculadora); ferramentas.addSeparator(); ferramentas.add(sobre);
		sistema.add(minimizar); sistema.add(sair);
		tela.add(lbfundo); lbfundo.add(lbdata); 
			
	}
	
	public void actionPerformed(ActionEvent e){
        
		if (e.getSource() == cadastrar_cliente) {
            CadastrarCliente CC = new CadastrarCliente();
            CC.setVisible(true);			
        }	
		
		if (e.getSource() == cadastrar_funcionario) {
            CadastrarFuncionario CF = new CadastrarFuncionario();
            CF.setVisible(true);			
        }
		
		if (e.getSource() == bloco_de_notas) {
           try { 
		      Runtime.getRuntime().exec("C:\WINDOWS\notepad.exe");     
           }
		   catch(Exception erro){     
              JOptionPane.showMessageDialog(null,"Caminho não encontrado","ERRO",4);     
           } 
        }
  
        if (e.getSource() == calculadora) {
           try { 
		      Runtime.getRuntime().exec("C:\Windows\System32\calc.exe");     
           }
		   catch(Exception erro){     
              JOptionPane.showMessageDialog(null,"Caminho não encontrado","ERRO",4);     
           }   
        }

        if (e.getSource() == sobre) {
           JOptionPane.showMessageDialog(null,"Desenvolvido por Matheus Prado \nVersão 1.0 \[email removido]","Sobre",1);     
              
        }
	
		if (e.getSource() == minimizar) {
           setExtendedState(ICONIFIED);        
        }    
		
		if (e.getSource() == sair) {
           System.exit(0);         
        }
	
	}
	
	public static void main(String args[]){
		Menu app = new Menu();
		app.setDefaultCloseOperation(EXIT_ON_CLOSE);
		app.setVisible(true);
	}
}
G

Fiz uns testes aqui e funcionou aquele timer que te passei. Qual o comportamento que você está tendo com a aplicação? Aparece algo, não aparece nada, ou o campo fica com a hora parada apenas?

Matheus_Prado

a hora fica parada apenas
não estou conseguindo implementar
aquela dica do Timer que vc mi deu

:frowning:

G

Não tem como não dar certo. Tente essa alteração aqui:

final SimpleDateFormat sd = new SimpleDateFormat("dd/MM/yy - HH:mm:ss");
		
Timer t = new Timer(1000, new ActionListener() {
	@Override
	public void actionPerformed(ActionEvent e) {
		lbdata.setText(sd.format(new Date()))
	}
});
		
t.start();

Lembre-se que você tem que importar javax.swing.Timer e não o timer do java.util.

Matheus_Prado

nada ainda :frowning:

Criado 8 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 11
Participantes 2