Java - Ingresar hora

   
Vista:

Ingresar hora

Publicado por Kenneth (2 intervenciones) el 10/07/2016 03:42:54
Hola compañeros,

Espero me puedan ayudar, tengo una tarea donde en una matriz el usuario debe ingresar datos de hh:mm:ss, pero no he encontrado nada sobre como un usuario ingrese datos de esa manera, la verdad no se si se puede hacer, mi idea es algo asíÑ

hora=?????JOptionPane("Digite la hora:");

Y en teroría al usuario le debe aparecer en pantalla así:

Digite la hora: 00:00:00

Los ceros son representativos, pero la idea es que los dos puntos que separan hora de minutos y segundos, se visualiza e pantalla.


Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ingresar hora

Publicado por Yamil Bracho (2072 intervenciones) el 10/07/2016 04:01:16
Tienes varias alternativas :
1) Crear tres spinner para la Hora. Minutos, Segundos
2) Usar JTimeChooser (https://sourceforge.net/projects/jtimechooser/)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ingresar hora

Publicado por Kenneth (2 intervenciones) el 10/07/2016 04:21:15
Gracias amigo,

Pero creo que eso es un poco más avanzado, estoy comenzando a aprender java, habrá algo más sencillo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ingresar hora

Publicado por kotito (3 intervenciones) el 11/07/2016 14:47:48
RESUELTO <----------------------------------------------------------

Asi es mas o menos como lo he podido hacer según los comentarios que he leido
Si es una actividad de clase o algun mandato, mas vale aprender por ti mismo que decirte la solucion directamente. Eso ya depende la ambición de la persona si realmente quiere aprender o quiere depender de otros.
Total, el código es como viene, uno de las millones de formas que se puede hacer




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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/*
 Uso del Spinner, boton y label para digitalizar la hora
*/
package pruebajspinner;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Dimension;
import javax.swing.JOptionPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.WindowConstants;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
public class PruebaJSpinner implements ChangeListener, ActionListener{
 
        private JPanel relojPanel;
	private JButton Aceptar;
	private JSpinner horas, minutos, segundos;
        private JLabel dialogo,dosP1, dosP2;
	private JFrame v;       //Para la ventana donde se verá todos los componentes (JTextField y JSpinner
 
	public static void main(String[] args)//crea una instancia de esta clase 
        {
		new PruebaJSpinner();
	}
 
        public PruebaJSpinner() //crea la ventana con el JSpinner y el JTextField. La visualiza
	{
            dialogo = new JLabel("Digitalice hora, minutos y segundos");
 
            //creando el panel del reloj--------------------------------------------------------------------------------
            relojPanel = new JPanel();
                relojPanel.setLayout(new FlowLayout());
 
            horas = new JSpinner(); //se crea el objeto del JSpinner con un valor inicial: 0
                horas.setValue(0);
                horas.setPreferredSize(new Dimension(40,20));   //el tamaño del Spinner
                horas.addChangeListener(this); //si hay cambios en el JSpinner, se activa este escuchador de eventos
 
            minutos = new JSpinner();
                minutos.setValue(0);
                minutos.setPreferredSize(new Dimension(40,20));
                minutos.addChangeListener(this);
 
            segundos = new JSpinner();
                segundos.setValue(0);
                segundos.setPreferredSize(new Dimension(40,20));
                segundos.addChangeListener(this);
 
            dosP2 = new JLabel(":");
            dosP1 = new JLabel(":");
 
            relojPanel.add(horas); //añadimos los objetos creados al panel
            relojPanel.add(dosP1);
            relojPanel.add(minutos);
            relojPanel.add(dosP2);
            relojPanel.add(segundos);
            //----------------------------------------------------------------------------------------------------------
 
 
            Aceptar = new JButton("Aceptar"); //boton de Aceptar
                Aceptar.addActionListener(this);
 
 
		// Creacion de la ventana con los componentes
		v = new JFrame(); //se crea la ventana
		v.getContentPane().setLayout(new GridLayout(3,1)); //la conf de la ventana son 3 filas y 1 columna
		v.getContentPane().add(dialogo); //introduzco el mensaje en la ventana
		v.getContentPane().add(relojPanel); //introduzco el panel del reloj en la ventana
		v.getContentPane().add(Aceptar); //introduzco el panel del reloj en la ventana
		v.pack();
		v.setVisible(true);
		v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
	}
 
        //manejadores de eventos ---------------------------------------------------------------------------------------
        //el "this" en addChangeListener se viene a "este" metodo
        @Override
	public void stateChanged(ChangeEvent e)
        {
            if(e.getSource() == horas) //cambios en el Spinner de las horas
            {
                if((Integer)horas.getValue() > 23)
                    horas.setValue(00);
                if((Integer)horas.getValue() < 0)
                    horas.setValue(23);
            }
 
            if(e.getSource() == minutos) //cambios en el Spinner de los minutos
            {
                if((Integer)minutos.getValue() > 59)
                    minutos.setValue(00);
                if((Integer)minutos.getValue() < 0)
                    minutos.setValue(59);
            }
 
            if(e.getSource() == segundos) //cambios en el Spinner de los segundos
            {
                if((Integer)segundos.getValue() > 59)
                    segundos.setValue(00);
                if((Integer)segundos.getValue() < 0)
                    segundos.setValue(59);
            }
	}
 
        //el "this" de addActionListener se viene a "este" metodo
        public void actionPerformed(ActionEvent e)
        {
            JOptionPane.showMessageDialog(null, "El tiempo prefijado es " + horas.getValue() + ":" + minutos.getValue() + ":" + segundos.getValue());
        }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ingresar hora

Publicado por KARLA DANIEL (19 intervenciones) el 25/07/2016 23:17:53
Hola
Puedes usar spinner (Tres para cada hora) qu eseran Hora. Minutos, Segundos
o usar JTimeChooser

este ejercicio te sevira de mucho, lo da automaticamente!!
http://lineadecodigo.com/java/obtener-la-hora-en-java/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar