Problema al intentar recoger la hora en un JLabel
Publicado por Marvin (2 intervenciones) el 30/06/2021 23:33:52
Hola:
Acudo a Uds. para que por favor me ayuden en este tema. Tengo poco tiempo con Java y el uso de fechas y horas se me hace complicado.
Anexo las ventanas donde al abrirla lo primero que aparece es el último documento grabado en dos tablas de una base de datos MySql con toda la información necesaria para el usuario (archivo: VENTANA_INICIAL.png).
Luego, al hacer click en (1- NUEVO) la ventana se limpia en la mayoría de los campos. Lo que sigue es comenzar a rellenar todos los campos que quedaron vacíos y cuando estén todos llenos se hace un click en (2-Agregar Registro) y la JTable (3) comienza a llenarse (archivo: VENTANA_RELLENA.png).
Cuando el usuario termina de rellenar el documento procede a (4-GUARDAR).
Es en GUARDAR donde tengo el problema. Tengo un JLabel oculto llamado: "jLabelMOV_HORA", donde heredo de otra clase la hora y lo coloco debajo de "initComponents". Les dejo el código de la clase Reloj, el extracto de lo heredado y el evento del botón Guardar.
En el evento del botón Guardar el JLabel me da el siguiente error: "incompatible types: String cannot be converted to Date".
Cualquier sugerencia o ayuda será bienvenida!!!.
Saludos..


Acudo a Uds. para que por favor me ayuden en este tema. Tengo poco tiempo con Java y el uso de fechas y horas se me hace complicado.
Anexo las ventanas donde al abrirla lo primero que aparece es el último documento grabado en dos tablas de una base de datos MySql con toda la información necesaria para el usuario (archivo: VENTANA_INICIAL.png).
Luego, al hacer click en (1- NUEVO) la ventana se limpia en la mayoría de los campos. Lo que sigue es comenzar a rellenar todos los campos que quedaron vacíos y cuando estén todos llenos se hace un click en (2-Agregar Registro) y la JTable (3) comienza a llenarse (archivo: VENTANA_RELLENA.png).
Cuando el usuario termina de rellenar el documento procede a (4-GUARDAR).
Es en GUARDAR donde tengo el problema. Tengo un JLabel oculto llamado: "jLabelMOV_HORA", donde heredo de otra clase la hora y lo coloco debajo de "initComponents". Les dejo el código de la clase Reloj, el extracto de lo heredado y el evento del botón Guardar.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package login_bd;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;
/**
*
* @author Marvin
*/
public class Reloj extends Thread {
private JLabel lbl;
public Reloj(JLabel lbl) {
this.lbl = lbl;
}
Reloj() {
throw new UnsupportedOperationException("Not supported yet.");
}
public void run() {
while (true) {
Date hoy = new Date();
SimpleDateFormat s = new SimpleDateFormat("HH:mm:ss");
lbl.setText(s.format(hoy));
try {
sleep(1000);
} catch (Exception ex) {
}
}
}
}
1
2
3
4
5
6
7
8
9
10
public TransEntradasSalidas() {
initComponents();
setLocationRelativeTo(null);
cargar();
jLabelMOV_HORA.setVisible(false);
txtUser.setVisible(false);
jLabelMOV_TIPO.setText("I");
jLabelMOV_TIPO.setVisible(false);
Reloj hilo = new Reloj(jLabelMOV_HORA);
hilo.start();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
private void jBtnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
///////////// SE GRABAN LOS CAMPOS EN LA TABLA docmov
Metodos_Sql metodosbd = new Metodos_Sql();
java.util.Date utilDate = new java.util.Date();
java.sql.Date DOC_FECHA = new java.sql.Date(utilDate.getTime());
int exito = metodosbd.guardar_docmov(
jTextFieldDOC_NUMERO .getText(),
jTextFieldDOC_COMEN1 .getText(),
jTextFieldDOC_COMEN2 .getText(),
jDateChooserDOC_FECHA.getDate(),
jComboBoxDOC_ACTIVO .getSelectedItem().toString(),
jComboBoxMOV_CENCOS .getSelectedItem().toString(),
jLabelDOC_NUMMEM .getText(),
jComboBoxDOC_CODSUC .getSelectedItem().toString(),
jLabelMOV_HORA .getText(),
jComboBoxDOC_CODPER .getSelectedItem().toString());
if (exito > 0) {
JOptionPane.showMessageDialog(null, "Los datos se han guardado correctamente",
"Éxito en la operación", JOptionPane.INFORMATION_MESSAGE);
jTextFieldDOC_NUMERO .setText(null);
jTextFieldDOC_COMEN1 .setText(null);
jTextFieldDOC_COMEN2 .setText(null);
DOC_FECHA .toLocalDate();
jComboBoxDOC_ACTIVO .setSelectedItem("doc_activo");
jComboBoxMOV_CENCOS .setSelectedItem("doc_cencos");
jLabelDOC_NUMMEM .setText(null);
jComboBoxDOC_CODSUC .setSelectedItem("doc_codsuc");
jLabelMOV_HORA .setText(null);
jComboBoxDOC_CODPER .setSelectedItem("doc_codper");
DefaultTableModel model = (DefaultTableModel) jTableEntradasSalidas.getModel();
model.setRowCount(0);
cargar();
} else {
JOptionPane.showMessageDialog(null, "Los datos no se pudieron guardar\n"
+ "Inténtelo nuevamente", "Error en la operación", JOptionPane.ERROR_MESSAGE);
}
///////////// FIN DE: SE GRABAN LOS CAMPOS..............
///////////// SE GRABAN LOS CAMPOS EN LA TABLA movinv
int exito1;
exito1 = metodosbd.guardar_docmovinv
(jComboBoxPRD_CODIGO.getSelectedItem().toString(),
jTextFieldDOC_NUMERO.getText(),
jDateChooserDOC_FECHA.getDate(),
jComboBoxTAB_CODIGO.getSelectedItem().toString(),
jComboBoxIME_UNDMED.getSelectedItem().toString(),
jTextFieldMOV_CANTID.getText(),
jTextFieldMOV_COSTO.getText(),
txtUser.getText(),
jLabelMOV_TOTAL.getText(),
jLabelMOV_TIPO.getText(),
jTableEntradasSalidas.getValueAt(0, 0).toString(),
jLabelMOV_HORA.getText(),
jComboBoxDOC_ACTIVO.getSelectedItem().toString(),
jComboBoxDOC_CODSUC.getSelectedItem().toString(),
jComboBoxALM_CODIGO.getSelectedItem().toString(),
jComboBoxMOV_CENCOS.getSelectedItem().toString(),
jTableEntradasSalidas.getValueAt(0, 8));
}
En el evento del botón Guardar el JLabel me da el siguiente error: "incompatible types: String cannot be converted to Date".
Cualquier sugerencia o ayuda será bienvenida!!!.
Saludos..


Valora esta pregunta


0