Nach der Zugabe von JTextArea in JScrollPane hier:
scroll = new JScrollPane(display);
Sie brauchen nicht in andere Behälter wieder hinzuzufügen, wie Sie das tun:
middlePanel.add(display);
Nur entfernen Sie diese letzte Zeile des Codes, und es wird gut funktionieren. Wie folgt aus:
middlePanel=new JPanel();
middlePanel.setBorder(new TitledBorder(new EtchedBorder(), "Display Area"));
// create the middle panel components
display = new JTextArea(16, 58);
display.setEditable(false); // set textArea non-editable
scroll = new JScrollPane(display);
scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//Add Textarea in to middle panel
middlePanel.add(scroll);
JScrollPane ist nur ein weiterer Container, die Scrollbalken um Ihre Komponente, wenn es gebraucht wird und hat auch sein eigenes Layout platziert. Alles, was Sie tun müssen, wenn Sie etwas in eine Rolle wickeln wollen übergeben Sie es nur in JScrollPane Konstruktor:
new JScrollPane(myComponent)
oder Set-Ansicht wie folgt aus:
JScrollPane pane = new JScrollPane();
pane.getViewport().setView (myComponent);
Zusätzlich:
Hier ist voll funktionierendes Beispiel, da Sie es immer noch nicht funktionierten:
public static void main (String[] args)
{
JPanel middlePanel = new JPanel();
middlePanel.setBorder (new TitledBorder (new EtchedBorder(), "Display Area"));
// create the middle panel components
JTextArea display = new JTextArea (16, 58);
display.setEditable (false); // set textArea non-editable
JScrollPane scroll = new JScrollPane (display);
scroll.setVerticalScrollBarPolicy (ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
//Add Textarea in to middle panel
middlePanel.add (scroll);
// My code
JFrame frame = new JFrame();
frame.add (middlePanel);
frame.pack();
frame.setLocationRelativeTo (null);
frame.setVisible (true);
}
Und hier ist das, was man bekommt:
Was passiert, wenn der Text dann die Bereichsgrenze erreichen? – talnicolas
Daten werden einfach verschwinden. – Ravi
Für eine bessere Hilfe, post ein [SSCCE] (http://sscce.org/). –