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

ayuda con JTextField

Estas en el tema de ayuda con JTextField en el foro de Java en Foros del Web. hola, tengo la siguiente duda. Escribiendo una aplicación en swing, poseo un JTextField el cual permite el ingreso de valores por parte del usuario. En ...
  #1 (permalink)  
Antiguo 12/11/2006, 16:29
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
ayuda con JTextField

hola, tengo la siguiente duda. Escribiendo una aplicación en swing, poseo un JTextField el cual permite el ingreso de valores por parte del usuario. En este textfield, el usuario puede ingresar el número que desee para adquirir un producto. Por ejemplo: si desea comprar tres artículos, en dicho textfield coloca el número 3. Luego dicha cantidad ingresada, se multiplicará por el precio para finalmente, obtener el total.

El problema es que cuando ingreso en el textfield una cantidad cualquiera de articulos y realizar un parseDouble al texto, siempre me arroja por valor total el número cero. Existe alguna forma de capturar el texto ingresado, me he dado cuanta que el getText() captura el texto pero luego de escribir algun numero consecutivo:

// Ejemplo

textField1.getText();
textField2.setText(textField1.getText());

si tengo en textField1 estos numeros: 12345
en el textfield2 aparece: 1234

, es decir, el número 5 aparecera en textfield2, luego de colocar otro numero en textfield1. ¿Como capturo el texto que se ingresa al momento?


Gracias
  #2 (permalink)  
Antiguo 12/11/2006, 22:39
Avatar de Tipdar  
Fecha de Ingreso: octubre-2005
Ubicación: Aquí y allá.
Mensajes: 323
Antigüedad: 18 años, 6 meses
Puntos: 7
Pues de esa manera es como se capturan los textos, aquí te pongo un ejemplo de copy & paste, espero que te sirva:

Código HTML:
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Obtener extends JFrame {
	private JPanel jContentPane = null;
	private JTextField jTextField = null;
	private JButton jButton = null;

	public static void main(String[] args) {
		(new Obtener()).setVisible(true);
	}

	public Obtener() {
		initialize();
	}

	private void initialize() {
		this.setSize(236, 124);
		this.setContentPane(getJContentPane());
		this.setTitle("Ejemplo");
	}

	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJTextField(), null);
			jContentPane.add(getJButton(), null);
		}
		return jContentPane;
	}

	private JTextField getJTextField() {
		if (jTextField == null) {
			jTextField = new JTextField();
			jTextField.setBounds(new Rectangle(22, 19, 192, 20));
		}
		return jTextField;
	}

	private JButton getJButton() {
		if (jButton == null) {
			jButton = new JButton();
			jButton.setBounds(new Rectangle(123, 50, 91, 20));
			jButton.setText("Obtener");
			jButton.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					String cadena = jTextField.getText();
					try {
						double d = Double.parseDouble(cadena);
						// double d = new Double(cadena).doubleValue();
						JOptionPane.showMessageDialog(null,
								"El número entrado es " + d, "Número entrado",
								JOptionPane.INFORMATION_MESSAGE);
						// ya en este punto el número es un double :)
					} catch (NumberFormatException excep) {
						JOptionPane.showMessageDialog(null,
								"Solo se admiten valores numéricos", "Error",
								JOptionPane.ERROR_MESSAGE);
					}
				}
			});
		}
		return jButton;
	}
} 
__________________
El último TipdaR
  #3 (permalink)  
Antiguo 19/11/2006, 22:58
 
Fecha de Ingreso: abril-2006
Mensajes: 40
Antigüedad: 18 años
Puntos: 0
gracias, lo solucioné utilizando un keyListener, con el metodo keyReleased.
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 22:38.