Foros del Web » Programación para mayores de 30 ;) » Java »

problema con JFormattedTextField

Estas en el tema de problema con JFormattedTextField en el foro de Java en Foros del Web. Hola. Se me presenta el siguiente problema. Utilizo el JFormattedTextField para obtener una fecha. Luego lo casteo con el java.util.Date al formato fecha. El problema ...
  #1 (permalink)  
Antiguo 12/03/2010, 08:35
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
problema con JFormattedTextField

Hola. Se me presenta el siguiente problema. Utilizo el JFormattedTextField para obtener una fecha. Luego lo casteo con el java.util.Date al formato fecha. El problema es que me genera un error al momento de obtener el valor del JFormattedTextField y no se cual puede ser el problema. Yo lo he sacado de otro codigo que funciona a la perfección. Lo he chequeado pero no encuentro cual puede ser el problema.
Si alguien me puede recomendar una solucion o alguna alternativa de capturar fechas en un programa se lo agradeceria muchisimo.
  #2 (permalink)  
Antiguo 12/03/2010, 08:38
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: problema con JFormattedTextField

Hola, podrìas mostrarnos el código que utilizas? así vemos cuál puede ser el problema...
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #3 (permalink)  
Antiguo 12/03/2010, 08:59
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: problema con JFormattedTextField

Disculpen pero tuve que cortar parte del codigo. Sin embargo esta lo importante resaltado con color

Código:
import javax.swing.JFormattedTextField;

public class NuevoPaciente extends MiJPanel {

	
	
	private JTextField obrasocial = null;
//Aca declaro el jformattedtextfield!!!!!!!!
	private JFormattedTextField fecnac = null;
	private JTextField numdoc = null;
	private JTextField telefono = null;
	

	private JDialog diagNuevo = new JDialog();
	private static Connection conect = null;  //  @jve:decl-index=0:
	/**
	 * This method initializes 
	 * 
	 */
	public NuevoPaciente() {
		super();
		initialize();
	}
	
	public NuevoPaciente(JDialog dialogo) {
		super();
		initialize();
		diagNuevo = dialogo;
	}

	/**
	 * This method initializes this
	 * 
	 */
	private void initialize() {
        diagNuevo.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        BorderLayout borderLayout = new BorderLayout();
        borderLayout.setHgap(5);
        borderLayout.setVgap(5);
        this.setLayout(borderLayout);
        this.setSize(new Dimension(690, 355));
        this.add(getPanelSur(), BorderLayout.SOUTH);
        this.add(getPanelCentro(), BorderLayout.CENTER);
		
	}

	/**
	 * This method initializes PanelSur	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getPanelSur() {
		if (PanelSur == null) {
			FlowLayout flowLayout = new FlowLayout();
			flowLayout.setAlignment(java.awt.FlowLayout.CENTER);
			flowLayout.setVgap(10);
			flowLayout.setHgap(20);
			PanelSur = new JPanel();
			PanelSur.setLayout(flowLayout);
			PanelSur.add(getBotonAceptar(), null);
			PanelSur.add(getBotonCancelar(), null);
			//Quitamos el fondo opaco para poder ver la imagen de fondo.
			PanelSur.setOpaque(false);
		}
		return PanelSur;
	}

	/**
	 * This method initializes PanelCentro	
	 * 	
	 * @return javax.swing.JPanel	
	 */
	private JPanel getPanelCentro() {
		if (PanelCentro == null) {
			

	/**
	 * This method initializes BotonAceptar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBotonAceptar() {
		if (BotonAceptar == null) {
			BotonAceptar = new JButton();
			BotonAceptar.setText("Aceptar");
			BotonAceptar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				
						cargarNuevoPaciente();
					
				}
			});
		}
		return BotonAceptar;
	}
	
	private void cargarNuevoPaciente() {
		String name = this.nombre.getText();
		String surename = this.apellido.getText();
		String street = this.calle.getText();
		String neighbours = this.barrio.getText();
		String state = this.provincia.getText();
		String obSocial = this.obrasocial.getText();
//Aca capturo la fecha que ingresa el usuario!!!!!!!! Y es aca donde se planta el codigo y no avanza
		Date fechaNaci = (Date)this.fecnac.getValue();
		int DNI = Integer.parseInt(this.numdoc.getText());
		int telephone = Integer.parseInt(this.telefono.getText());
		int streetnumber = Integer.parseInt(this.numcalle.getText());
		String city = this.localidad.getText();
		String country = this.pais.getText();
		int afiliaNumber = Integer.parseInt(this.numafil.getText());
		String departa = this.dpto.getText();
		int codPostal = Integer.parseInt(this.cp.getText());
		int tipDocument = this.tipdoc.getSelectedIndex();
		int stateCivil = this.estado.getSelectedIndex();
		int sex = this.sexo.getSelectedIndex();
		int titu = this.titular.getSelectedIndex();
		NewPaciente pacienteNuevo = new NewPaciente(name,surename,street,neighbours,state,
				obSocial,fechaNaci,DNI,telephone,streetnumber,city,country,afiliaNumber,
				departa,codPostal,tipDocument,stateCivil,sex,titu);
		
this.diagNuevo.dispose();
		
		
		
		
	}

	/**
	 * This method initializes BotonCancelar	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getBotonCancelar() {
		if (BotonCancelar == null) {
			BotonCancelar = new JButton();
			BotonCancelar.setText("Cancelar");
			BotonCancelar.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					CerrarVentana();
				}
			});
			
		}
		return BotonCancelar;
	}
	
	private void CerrarVentana(){
		this.diagNuevo.dispose();
	}

	/**
	 * This method initializes nombre	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNombre() {
		if (nombre == null) {
			nombre = new JTextField();
			nombre.setColumns(20);
		}
		return nombre;
	}

	/**
	 * This method initializes apellido	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getApellido() {
		if (apellido == null) {
			apellido = new JTextField();
			apellido.setColumns(20);
		}
		return apellido;
	}

	/**
	 * This method initializes calle	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getCalle() {
		if (calle == null) {
			calle = new JTextField();
			calle.setColumns(20);
		}
		return calle;
	}

	/**
	 * This method initializes barrio	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getBarrio() {
		if (barrio == null) {
			barrio = new JTextField();
			barrio.setColumns(20);
		}
		return barrio;
	}

	/**
	 * This method initializes provincia	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getProvincia() {
		if (provincia == null) {
			provincia = new JTextField();
			provincia.setColumns(20);
		}
		return provincia;
	}

	/**
	 * This method initializes obrasocial	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getObrasocial() {
		if (obrasocial == null) {
			obrasocial = new JTextField();
			obrasocial.setColumns(20);
		}
		return obrasocial;
	}

	/**
	 * y por ultimo aca esta el get FecNac	
	 */
	private JFormattedTextField getFecnac() {
		if (fecnac == null) {
			fecnac = new JFormattedTextField();
			fecnac.setColumns(5);
		}
		return fecnac;
	}

	/**
	 * This method initializes numdoc	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNumdoc() {
		if (numdoc == null) {
			numdoc = new JTextField();
			numdoc.setColumns(10);
		}
		return numdoc;
	}

	/**
	 * This method initializes telefono	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getTelefono() {
		if (telefono == null) {
			telefono = new JTextField();
			telefono.setColumns(10);
		}
		return telefono;
	}

	/**
	 * This method initializes numcalle	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNumcalle() {
		if (numcalle == null) {
			numcalle = new JTextField();
			numcalle.setColumns(3);
		}
		return numcalle;
	}

	/**
	 * This method initializes localidad	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getLocalidad() {
		if (localidad == null) {
			localidad = new JTextField();
			localidad.setColumns(20);
		}
		return localidad;
	}

	/**
	 * This method initializes pais	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getPais() {
		if (pais == null) {
			pais = new JTextField();
			pais.setColumns(20);
		}
		return pais;
	}

	/**
	 * This method initializes numafil	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getNumafil() {
		if (numafil == null) {
			numafil = new JTextField();
			numafil.setColumns(20);
		}
		return numafil;
	}

	/**
	 * This method initializes dpto	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getDpto() {
		if (dpto == null) {
			dpto = new JTextField();
			dpto.setColumns(2);
		}
		return dpto;
	}

	/**
	 * This method initializes cp	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getCp() {
		if (cp == null) {
			cp = new JTextField();
			cp.setColumns(4);
		}
		return cp;
	}

	/**
	 * This method initializes tipdoc	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getTipdoc() {
		if (tipdoc == null) {
			tipdoc = new JComboBox(new String[]{"L.C","L.E","D.N.I"});
		}
		return tipdoc;
	}

	/**
	 * This method initializes estado	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getEstado() {
		if (estado == null) {
			estado = new JComboBox(new String[]{"Casado","Soltero","Viudo","Concubinato"});
		}
		return estado;
	}

	/**
	 * This method initializes sexo	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getSexo() {
		if (sexo == null) {
			sexo = new JComboBox(new String[]{"Femenino","Masculino"});
		}
		return sexo;
	}

	/**
	 * This method initializes titular	
	 * 	
	 * @return javax.swing.JComboBox	
	 */
	private JComboBox getTitular() {
		if(titular == null){
			titular = new JComboBox(new String[]{"Titular","Adherente"});
			
		}
		return titular;
	}
  #4 (permalink)  
Antiguo 12/03/2010, 09:11
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: problema con JFormattedTextField

hola, debes usar un SimpleDateFormat o similar para poder parsear de texto a fecha, algo asì
SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");

Date fechaNac= sdf.parse(myText.getText());
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #5 (permalink)  
Antiguo 12/03/2010, 10:27
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: problema con JFormattedTextField

bien. enotnces no utilizo el jformattedtxtfield???
  #6 (permalink)  
Antiguo 12/03/2010, 10:33
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 5 meses
Puntos: 13
Respuesta: problema con JFormattedTextField

sí, puedes usarlo también, sólo que para eso deberìas especificar el FormaterFactory al text field y es un poco màs complicado.
acá te paso un link donde hay ejemplos, para mì es más facil usar el SimpleDateFormat aunque usando el formatter puedes lograr mejores cosas

http://www.chuidiang.com/java/ejempl...dTextField.php

__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #7 (permalink)  
Antiguo 12/03/2010, 11:41
 
Fecha de Ingreso: marzo-2008
Mensajes: 99
Antigüedad: 16 años
Puntos: 1
Respuesta: problema con JFormattedTextField

Gracias. voy a seguir tu consejo. Y ya estuve leyendo la pagina que me pasa. Y voy a tratar de ver si mas adelante lo puedo usar.

Etiquetas: jformattedtextfield
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:27.