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

Duda con JOptionPane

Estas en el tema de Duda con JOptionPane en el foro de Java en Foros del Web. Por que no funciona el JOptionPane.showMessageDialog(...) que tengo definido en actionPerformed (ActionEvent e) ?? ademas si lo pongo dentro de otra funcion como celsius2farenheit () ...
  #1 (permalink)  
Antiguo 20/08/2011, 19:34
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Duda con JOptionPane

Por que no funciona el JOptionPane.showMessageDialog(...) que tengo definido en actionPerformed (ActionEvent e) ?? ademas si lo pongo dentro de otra funcion como celsius2farenheit () tampoco funciona...

Código ASP:
Ver original
  1. import javax.swing.*;
  2. import java.awt.*;
  3. import java.awt.event.*;
  4.  
  5. public class udsTemperatura extends JApplet implements ActionListener{
  6.    
  7.     JTextField campo;
  8.     JButton c2f;
  9.     JButton f2c;
  10.    
  11.     public void init (){
  12.  
  13.         Container c = getContentPane ();
  14.         c.setLayout(new FlowLayout () );
  15.        
  16.         JLabel etiqueta = new JLabel ("Introduzca la temperatura : ");
  17.        
  18.         campo = new JTextField (10);
  19.         campo.setEditable (true);
  20.         campo.addActionListener(this);
  21.        
  22.         c2f = new JButton ("Celsius a farenheit");
  23.         f2c = new JButton ("Farenheit a celsius");
  24.        
  25.         c.add(etiqueta);
  26.         c.add(campo);
  27.         c.add(c2f);
  28.         c.add(f2c);
  29.        
  30.     }
  31.    
  32.     public void actionPerformed (ActionEvent e){
  33.    
  34.         String s = campo.getText();
  35.         float nTemp;
  36.        
  37.         if ( e.getSource () == c2f )
  38.             nTemp = celsius2farenheit ( Float.parseFloat(s) );
  39.         else
  40.             nTemp = farenheit2celsius ( Float.parseFloat(s) );
  41.        
  42.         JOptionPane.showMessageDialog ( null, "La nueva temperatura es : " + nTemp );
  43.         showStatus("Hecho!");
  44.        
  45.     }
  46.    
  47.     public float celsius2farenheit (float c){
  48.        
  49.         return (float) ( 9.0 / 5.0 * ( c + 32 ) );
  50.        
  51.     }
  52.    
  53.     public float farenheit2celsius (float f){
  54.        
  55.         return (float) ( 5.0 / 9.0 * ( f - 32 ) );
  56.        
  57.     }
  58.  
  59.    
  60. }

Un saludo!!
  #2 (permalink)  
Antiguo 21/08/2011, 01:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Duda con JOptionPane

Has añadido el actionListener al textfield, por lo que debería salir si escribes algo en él y pulsas enter, los botones no hacen nada.

Si a pesar de todo no te sale, revisa que tu navegador está configurado para permitir que se abran ventanas secundarias.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 21/08/2011, 04:33
 
Fecha de Ingreso: marzo-2011
Mensajes: 94
Antigüedad: 13 años, 1 mes
Puntos: 3
Respuesta: Duda con JOptionPane

Ostias es verdad que tonto jaja cambie la linea 20 por estas y ya funciona:

Código Javascript:
Ver original
  1. c2f = new JButton ("Celsius a farenheit");
  2.         f2c = new JButton ("Farenheit a celsius");
  3.         c2f.addActionListener(this);
  4.         f2c.addActionListener(this);

Muchisimas gracias por la respuesta chuidiang!!

Etiquetas: joptionpane, swing
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 00:54.