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

[SOLUCIONADO] tecla enter en JTextField

Estas en el tema de tecla enter en JTextField en el foro de Java en Foros del Web. Como veis, mi frame es muy sencillo, únicamente tiene un JTexField y un JTextArea. Código: package EntradaSalida; import java.awt.BorderLayout; import java.awt.Toolkit; import java.awt.Color; import java.awt.event.KeyEvent; ...
  #1 (permalink)  
Antiguo 02/11/2014, 06:56
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
tecla enter en JTextField

Como veis, mi frame es muy sencillo, únicamente tiene un JTexField y un JTextArea.
Código:
package EntradaSalida;

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.Color;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTextField;
import javax.swing.JTextArea;
import javax.swing.border.LineBorder;

public class textoLogs extends JFrame implements KeyListener{

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField txtFIntro= new JTextField();
	public JTextArea txtALog = new JTextArea();

	public textoLogs() {
		
//		System.out.println("Estoy construido");
		
		setTitle("Logs");
		setIconImage(Toolkit.getDefaultToolkit().getImage("/Resources/hal9000.ico"));
		setBounds(50, 50, 400, 300);
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(0, 0));
		setContentPane(contentPane);
		
		txtFIntro.setBorder(new LineBorder(new Color(0, 0, 0)));
		contentPane.add(txtFIntro, BorderLayout.SOUTH);
		txtFIntro.setColumns(10);
		txtFIntro.addKeyListener(this);
		
		txtALog.setBorder(new LineBorder(new Color(0, 0, 0)));
		txtALog.setBackground(new Color(225, 225, 225));
		txtALog.setEditable(false);
		contentPane.add(txtALog, BorderLayout.CENTER);
		
		setVisible(true);
	}
	public void keyPressed(KeyEvent arg0) {}
	public void keyReleased(KeyEvent arg0) {}
	public void keyTyped(KeyEvent arg0) {
		if (arg0.getKeyCode() == KeyEvent.VK_ENTER)System.out.println("He presionado enter");
	}
}
He implementado un keyListener al JTextField y lo que quiero es que cuando pulse la tecla enter en el JTextField el texto se ponga en el JTextArea. Algo así como si fuese una ventana de chat que tú escribes y se queda ahí guardado. Sin embargo, no se como conseguir esto. Alguna idea?
  #2 (permalink)  
Antiguo 02/11/2014, 07:05
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: tecla enter en JTextField

Solucionado. No se por qué no es en el evento keyTyped, sino en el evento keyPressed... no se supone que el Typed es cuando pulsas y sueltas la tecla y el Pressed mientras la tecla está presionada?

Igual, al cambiarlo al evento keyPressed me ha funcionado. Sin embargo, me sigue surgiendo esa duda.

Etiquetas: enter, jtextfield, tecla
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 08:26.