12/03/2013, 09:08
|
| Colaborador | | Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses Puntos: 454 | |
Respuesta: formularios auto guardado Hola:
Imagino que un botón si tendrá, ¿no?. Cuando acabe de rellenar campos pulsará un botón "Salvar" o algo así ¿o quieres que según esté escribiendo en un campo se guarde del dato cada vez que teclea una letra?
Lo del guardado automático hay muchas formas de hacerlo, más o menos elaboradas y requiere algo de coherencia entre cada tabla en base de datos y cada formulario.
Lo primero, debes tener de alguna forma qué campo representa cada JTextField o componente que tengas en el formulario. Por ejemplo, si estás con un formulario de datos de personas, qué JTextField del formulario es el "apellido" Esto puedes hacerlo, por ejemplo con un Hashtable que guarde como clave "apellido" y como valor, el JTextField que está en el formulario. Otra opción es darle al jTextField un setName("apellido"), todos los componentes swing tienen este setName().
La segunda parte consistiría en cuando tengas que salvar, obtener todos los componentes swing para obtener su nombre de campo y su valor. Si has usado un Hashtable es sencillo, basta obtener las keys (hashtable.keys() ) e ir recorriendo para obtener cada nombre de variable y valor. Si has usado el setName(), el JForm o JDialog que uses tiene un getComponents() que te devuelve todos los componentes que hay dentro y puedes interrogar a cada uno sobre su getName() y su getText(). Posiblemente, si usas otras cosas distintas de JTextFied como JCheckBox, o JComboBox, no será getText() al método al que tengas que llamar, sino al correspondiente. Tendrás que hacer una especie de if (componente instanceof JTextField) { componente.getText(); } y así con todos los tipos de componentes que uses.
Una vez tengas los nombres y valores de las variables, ya sólo te queda guardar en base de datos, cosa que será relativamente sencilla si cada formulario corresponde a una sola table y nos nombres que has puesto a los componentes coinciden con los nombres de las columas en base de datos.
Hay otra alternativa que suelo usar a veces. Escribo en un fichero de texto todos los nombres de variables y tipos de las mismas de un formulario, una en cada linea y en un formato a mi manera. Luego hago un script (con java u otro lenguaje) que lea ese fichero y me genere el código java necesario para leer el formulario, rellenar sus datos, guardar o leer de bd, etc.
En fin, son solo ideas, java no ofrece una forma automática de hacerlo y hay que hacerse algo del estilo que te estoy comentando, u otras ideas que se te ocurran.
Se bueno. |