Java - JComboBox

 
Vista:
Imágen de perfil de Lucas
Val: 68
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Lucas (23 intervenciones) el 26/05/2020 12:35:22
Buenos días,
Estoy intentando mostrar en una caja con texto de salida la opción elegida en un JComboBox. Pero no logro mostrar su contenido, tan solo muestra el número de la posición.

Lo que quiero mostrar es si el usuario ha elegido una de las tres opciones (sin, cos o tan)

Tengo creada una clase escuchador:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import aec3.interfaz.Ventana;
 
public class ComboSenCosTanActionListener implements ActionListener {
 
	private Ventana ventana;
 
	/**
	 * Contructora del escuchador
	 *
	 * @param ventana
	 */
	public ComboSenCosTanActionListener(Ventana ventana) {
		this.ventana = ventana;
	}
 
    @Override
    public void actionPerformed(ActionEvent e) {
    	ventana.escribirDatosDeSalida(String.format("Ha seleccionado: " + ventana.getSinCosTan()));

Y una interfaz llamada ventana con el siguiente método:
1
2
3
4
    //getSinCosTan
    public int getSinCosTan() {
        return this.comboSenCosTan.getSelectedIndex();
    }

Muchas 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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Rodrigo (623 intervenciones) el 26/05/2020 12:50:18
Usa getSelectedItem, no uses getSelectedIndex
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Lucas
Val: 68
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Lucas (23 intervenciones) el 27/05/2020 18:36:43
Muchas gracias por el aporte. He realizado el cambio y me daba error en el método para obtener los datos, lo he cambiado por este:

1
2
3
public Object getSinCosTan() {
return this.comboSenCosTan.getSelectedItem();
}

Ahora me da error en la clase que utilizo como botón para calcular. Tenia un switch y lo he quitado, y ahora no me reconoce los datos de entrada, ni da el resultado.
Tan solo muestra esto:

06:32:49 PM :: Ha seleccionado: cos
06:32:51 PM :: [INFO] El resultado de la operación de de 2 es



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
@Override
	public void actionPerformed(ActionEvent e) {
		String datoEntrada = ventana.leerDatosDeEntrada();
		if (datoEntrada.isEmpty()) {
			JOptionPane.showMessageDialog(ventana, "No hay datos de entrada en la caja de texto", "Información",
					JOptionPane.INFORMATION_MESSAGE);
 
		} else {
 
			double datoEntradaDouble = 0;
			String resultado = "";
			String txtOperacion = "";
			try {
				datoEntradaDouble = Double.parseDouble(datoEntrada);
				if (ventana.getGrados()) {
					datoEntradaDouble = Math.toRadians(datoEntradaDouble);
				}
 
				ventana.escribirDatosDeSalida(String.format(
						"[INFO] El resultado de la operación de %s de % es %s", txtOperacion, datoEntrada,
						resultado));
 
 
			} catch (NumberFormatException ex) {
				JOptionPane.showMessageDialog(ventana,
						"No se puede realizar la operación con el valor recibido: Se espera un valor entero",
						"Error", JOptionPane.ERROR_MESSAGE);
				ventana.escribirDatosDeSalida(String.format(
						"[ERROR] Se produjo un error al realizar la operación con el valor %s",
						datoEntrada));
 
			} finally {
				ventana.establecerFocoEnDatosDeEntrada();
 
			}
		}
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Rodrigo (623 intervenciones) el 27/05/2020 18:50:12
Si no asignas nada a las variables, no parece mal que se muestre nada cuando las imprimes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Lucas
Val: 68
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Lucas (23 intervenciones) el 27/05/2020 18:55:28
Perdón por mi ignorancia, pero no lo acabo de entender.
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Rodrigo (623 intervenciones) el 27/05/2020 19:25:19
Linea 14 en el codigo que muestras

resultado = ""

linea 21, se imprime resultado, o sea nada.

lo mismo con txtOperacion en la linea 12.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Lucas
Val: 68
Ha disminuido su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Lucas (23 intervenciones) el 27/05/2020 19:31:50
Pero entonces, que valor debo asignar a esas variables?
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
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

JComboBox

Publicado por Kabuto (1381 intervenciones) el 29/05/2020 17:29:02
Eso solo puedes saberlo tú.

Se supone que en la variable resultado se va almacenar el resultado (valga la redundancia) de hacer algún tipo de operación.

En tu código no hay ninguna operación, no hay multiplicaciones, divisiones, sumas... no se.
O sea, supongo que se pretende realizar algún tipo de operación con el valor que tienes en datoEntrada, algo supongo relacionado con senos, cosenos y tangentes.

No se si incluso el tipo de operación va a depender del valor recibido en txtOperacion

Esto es lo único que podemos suponer viendo esta porción de código. Pero se supone que tú si sabes que tiene que ocurrir en ese código.
Tú debes saber para que necesitas txtOperacion, que cómputo se ha de hacer con datoEntrada y así conseguir un resultado, para la variable resultado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar