TextArea problem z dodawaniem tekstu

0

A więc problem jest zapewne banalny, ale jakoś nie potrafię znaleźć rozwiązania chodzi o to, aby po naciśnięciu dowolnego klawisza (klawisza z literą) litera ta zostać dodana do JTextArea. Niestety, ale po naciśnięciu klawisza litera się nie dodaje czy może ktoś powiedzieć gdzie leży problem?
Oto kod mojej klasy

import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TextAreaTest extends JFrame{
	
	private JPanel pnlMain = new JPanel();
	private JLabel labInfo = new JLabel("...");
	private JTextArea displayArea = new JTextArea();
	private JScrollPane scrollPane = new JScrollPane();
	
	private TextAreaTest(){
		super("Text Area");
		init();
	}
	
	private void init(){
		pnlMain.setPreferredSize(new Dimension(375, 125));
		pnlMain.setBackground(Color.yellow);
		displayArea.setEditable(false);
		scrollPane.add(displayArea);
		scrollPane.setPreferredSize(new Dimension(375, 125));
		labInfo.setPreferredSize(new Dimension(30, 25));
		labInfo.setBackground(Color.WHITE);
		
		
		pnlMain.add(labInfo);
		pnlMain.add(scrollPane);
		add(pnlMain);
		setSize(new Dimension(390, 200));
		this.setVisible(true);
		this.addWindowListener(new WindowAdapter() {
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
		displayArea.addKeyListener(new KeyAdapter() {
			public void keyPressed(KeyEvent e) {
				displayArea.append(Character.toString(e.getKeyChar()));
				labInfo.setText(Character.toString(e.getKeyChar()));
			}
		});
	}
	
	public static void main(String args[]){
		new TextAreaTest();
	}

}
0
scrollPane.setViewportView(displayArea);

zamiastscrollPane.add(displayArea);

Litera tak naprawdę się dodaje - problem jest w tym, że nie widać pola tekstowego. Do ScrollPane'ów komponenty należy dodawać właśnie przez tą metodę (albo przez setView() istniejącego już Viewportu</b>).
0

Można też oszczędzić palce i klawiaturę w taki sposób

    private JScrollPane scrollPane = new JScrollPane(displayArea);
    //zamiast
    private JScrollPane scrollPane = new JScrollPane();
    scrollPane.setViewportView(displayArea);
    //oraz
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //zamiast
    this.addWindowListener(new WindowAdapter()  {
          public void windowClosing(WindowEvent e) {
               System.exit(0);
          }
    });

1 użytkowników online, w tym zalogowanych: 0, gości: 1