Pegar a idade a partir da data de nascimento

9 respostas
thiagopassosp

alguem poderia me ajudar informando como que eu faço para o usuario digitar no JTextField o nascimento aparecendo automaticamente //__

e depois como eu faço para aparecer no outro JTextField a idade…

aguardo respostas

9 Respostas

edu53

Para vc pegar a Idade basta fazer uma conta matematica simples

pega o ano corrente e faz menos o ano do nascimento

mas tem que ser o ano no formato yyyy

Luiz_Gustavo

complementando a resposta do edu, leve em consideração o mês e o dia tb… eu por exemplo nasci em 1982, mas não tenho 24 anos ainda (2006-1982), pois faço aniversário em dezembro.

se a sua dúvida é mais específica e não pudemos te ajudar, posta aí…

[]'s

thiagopassosp

valeu a tantativa de ajuda, mas naum ajudou em nada.

Expressões aritméticas eu ainda naum esqueci…

se alguem souber realmente como aparecer //__ no JTextField post aqui para me ajudar.

tatianaesc

Olá,

Não entendi bem. Você quer exatamente este formato no JTextField?
Uma coisa que você pode fazer é colocar 3 JTextField (um para o dia, um para o mês e um para o ano), separados por /. É isso que você quer?

[]´s
Tatiana

thiagopassosp

Obrigado plea dica mas assim não vai me ajudar.
tem um codigo( comando q vc faz) q quando vc começa a digitar os numeros no JTextField vai aparecendo e separando automaticamente por /.
exemplo eu digito 13111985 , no JTextField ficaria 13/11/1985 entendeu?

benflodin

procura sobre JFormattedTextField

J

De uma olhadinha no MaskFormatter tambem, talvez seja isso que vc quer…

D

olá thiagopassosp… axo q sei o q vc quer…
aí vai os trechos de codigo que te ajudarão…

/**
	 * verifica se a tecla pressionada eh um numero
	 * @param e
	 * @return boolean. <br>
	 * retorna true se a tecla precionada for um numero.
	 */
	private boolean teclaPressionadaEhDigito( KeyEvent e )
	{
		if( e.getKeyCode() == e.VK_0 || e.getKeyCode() == e.VK_1  || e.getKeyCode() == e.VK_2 
				|| e.getKeyCode() == e.VK_3 || e.getKeyCode() == e.VK_4 || e.getKeyCode() == e.VK_5 
				|| e.getKeyCode() == e.VK_6 || e.getKeyCode() == e.VK_7 || e.getKeyCode() == e.VK_8 
				|| e.getKeyCode() == e.VK_9 || e.getKeyCode() == e.VK_NUMPAD0 || e.getKeyCode() == e.VK_NUMPAD1 
				|| e.getKeyCode() == e.VK_NUMPAD2 || e.getKeyCode() == e.VK_NUMPAD3 || e.getKeyCode() == e.VK_NUMPAD4 
				|| e.getKeyCode() == e.VK_NUMPAD5 || e.getKeyCode() == e.VK_NUMPAD6 || e.getKeyCode() == e.VK_NUMPAD7 
				|| e.getKeyCode() == e.VK_NUMPAD8 || e.getKeyCode() == e.VK_NUMPAD9 ) {
			return true;
		}
		return false;
	}
public void keyPressed(KeyEvent e) 
	{

		if( e.getSource() == seuTextField ) {
			
			aplicaMascara( e );
		}
		
	}
/**
	 * aplica as mascaras da data
	 * @param e
	 * @return void
	 */
	private void aplicaMascara( KeyEvent e )
	{
		if( e.getSource() == seuTextField ) { // aplica a mascara da data
			
			if( teclaPressionadaEhDigito( e ) ) {
				String data = seuTextField.getText();
				if( data.length() == 2 ) {
					fseuTextField.setText( data + "/" );
					
				} else if( data.length() == 5 ) {
					seuTextField.setText( dataCadastro + "/" );
					
				}
			}
		
		} 
	}

pronto eh soh isso!
lembrando que vc deve adicionar o ouvidor de evento no seu textField.

V

MaskFormatter mask = null; try { mask = new MaskFormatter(?##/##/####?); mask.setPlaceholderCharacter('_'); } catch (java.text.ParseException exc) { ...... } JFormattedTextField jFTData = new JFormattedTextField(mask);

NAda MAis nada menso que isso!

Criado 7 de setembro de 2006
Ultima resposta 4 de out. de 2006
Respostas 9
Participantes 8