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

[SOLUCIONADO] Error y no se donde

Estas en el tema de Error y no se donde en el foro de Java en Foros del Web. Código: package test; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Rectangle; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.border.EmptyBorder; import javax.swing.border.LineBorder; import javax.swing.JTextField; ...
  #1 (permalink)  
Antiguo 07/11/2014, 16:11
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Error y no se donde

Código:
package test;


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

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

public class test extends JFrame implements KeyListener{

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;
	private JTextField txtFIntro= new JTextField();
	JTextArea txtALog = new JTextArea();
	JScrollPane sp = new JScrollPane();
			
	public test() {
		
		setBounds(new Rectangle(50, 50, 400, 300));
		contentPane = new JPanel();
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		contentPane.setLayout(new BorderLayout(5, 5));
		setContentPane(contentPane);

		txtFIntro.setBorder(new LineBorder(new Color(0, 0, 0)));
		txtFIntro.setColumns(10);
		txtFIntro.addKeyListener(this);
		contentPane.add(txtFIntro, BorderLayout.SOUTH);

		txtALog.setLineWrap(true);
		txtALog.setWrapStyleWord(true);
		txtALog.setBorder(null);
		txtALog.setBackground(new Color(225, 225, 225));
		txtALog.setEditable(false);

		sp.add(txtALog);
		sp.setBorder(new LineBorder(new Color(0, 0, 0)));
		contentPane.add(sp, BorderLayout.CENTER);
	}

	public void keyPressed(KeyEvent arg0) {
		if (arg0.getKeyCode() == KeyEvent.VK_ENTER){
			txtALog.append("Manual: "+txtFIntro.getText()+"\n");
			txtFIntro.setText(null);
		}
	}

	public void keyReleased(KeyEvent arg0) {}

	public void keyTyped(KeyEvent arg0) {}

	public static void main(String[] args) {
		new test().setVisible(true);
	}
}
Este código no me da ningún error, pero no me hace lo que se supone que ha de hacer.

Se supone que lo que se escribe en el JTextField ha de subir al JTextArea al pulsar enter y no lo hace. Y no entiendo el por qué.

Edito:
Acabo de sacar el JTextArea del ScrollPanel y ya me funciona bien, pero ahora no tengo el ScrollPanel, así que he deducido que el error viene de por ahí, pero sigo sin saber donde está el error exactamente. Necesito el Scroll!!

Última edición por Kritik; 07/11/2014 a las 17:15
  #2 (permalink)  
Antiguo 08/11/2014, 01:38
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Error y no se donde

Bueno, siguiendo investigando por internet he visto que el método add del scrollpane da problemas, y que hay que usar el método setViewportView. Lo he usado y ya me funciona perfectamente.

Etiquetas: string
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 03:10.