JTextArea mit ScrollBars?

Carndret

Erfahrenes Mitglied
Ich suche nun schon ewig nach einer Möglichkeit, bei einer JTextArea Scrollbars hinzuzufügen, wenn der Text zu groß ist.
Auf allen Seiten steht immer etwas mit dem JScrollPane doch es funktioniert bei mir irgenwie nicht.

So steht es auf den meisten Seiten:
Code:
JTextArea textArea = new JTextArea("Text", 20, 30);
JScrollPane scrollPane = new JScrollPane(textArea);

...

textArea .setLineWrap(true);
textArea .setWrapStyleWord(true);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

Wenn ich jetzt etwas reinschreibe wird das Textfeld einfach immer läger. Ich will aber, dass dann eine vertikale Scrollbar erscheint.
 
mmh ok, du meinest doch so:
Code:
scrollPane.add(textArea);

habe ich gemacht, alerdings ist jetzt das TextFeld nur noch 2 oder 3 Pixel groß. :rolleyes:
Was muss ich da noch machen?
 
hi
also folgendermaßen funktioniert es eiwandfrei: (habs sogar ausprobiert...) ;-)

Die main.java, ruft instanz von window.java auf:
Code:
import javax.swing.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class main {
    public static void main(String[] args) {
        JFrame window = new window();
            window.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {
                    System.exit(0);
                }//windowClosing
            });
            window.setVisible(true);

    }

}


und hier die window.java mit dem scrollpane und der text area:

Code:
import javax.swing.*;
import java.awt.*;


public class window extends JFrame {
    JTextArea textArea = new JTextArea("text");
    JScrollPane scrollPane = new JScrollPane(textArea);
    JPanel panel = new JPanel(new BorderLayout());


    public window(){
        super("test");
        panel.add(scrollPane);
        this.getContentPane().add(panel);
    }
}

... und so geht es eiwandfrei!
 
Konnte es jetzt ausprobieren. Hat auch geklappt.
Ich hatte immer im Panel die ScrollPane statt die textArea geadden (panel.add(ScrollPane); ) deshalb gings nicht.

Vielen Danke!
 
Hallo!

Welche Java Version und welches OS verwendest du...?

Versuchs mal damit:
Code:
 /**
  * 
  */
 package de.tutorials;
 
 import javax.swing.JFrame;
 import javax.swing.JScrollPane;
 import javax.swing.JTextArea;
 
 /**
  * @author Thomas
  *
  */
 public class JTextAreaWithScrollbarsExample extends JFrame{
 
 	public JTextAreaWithScrollbarsExample(){
 		super("JTextAreaWithScrollbarsExample");
 		setDefaultCloseOperation(EXIT_ON_CLOSE);
 		
 		add(new JScrollPane(new JTextArea(7,10)));
 		
 		pack();
 		setVisible(true);
 	}
 	
 	/**
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		new JTextAreaWithScrollbarsExample();
 	}
 }

Gruss Tom
 
Zurück