TextArea scrollen

Baerwatz

Mitglied
Tach Leutz,

ich versuche verzweifelt, eine TextArea scrollen zu lassen. Ich hab schon mehrere Dinge ausprobiert, es klappt aber nie. Vielleicht kann mir ja einer von euch helfen.
Hier mal der Quelltext:
Code:
{
                OutputTextArea = new JTextArea();
                OutputTextArea.setBounds(19, 74, 467, 268);
                //JPanel bigPanel = new JPanel(null);
                //bigPanel.add(OutputTextArea);
                //OutputScrollPane = new JScrollPane(OutputTextArea);
                //OutputScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
                //OutputScrollPane.setPreferredSize(new Dimension(320, 240));
                //OutputScrollPane.getViewport().add(OutputTextArea, BorderLayout.CENTER);
                //OutputScrollPane.setViewportView(bigPanel);
                this.getContentPane().add(OutputTextArea);
                //pack();
                //setVisible(true);
            }
Die Dinge, die ich ausprobiert habe, sind auskommentiert.
 
Die JTextArea muß in eine JScrollPane eingebettet werden und letztere dann deiner ContentPane hinzugefügt werden.
 
Wie meinst Du das?
So etwa?

Code:
{
                OutputTextArea = new JTextArea();
                OutputTextArea.setBounds(19, 74, 467, 268);
                //JPanel bigPanel = new JPanel(null);
                //bigPanel.add(OutputTextArea);
                OutputScrollPane = new JScrollPane(OutputTextArea);
                //OutputScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
                //OutputScrollPane.setPreferredSize(new Dimension(320, 240));
                //OutputScrollPane.getViewport().add(OutputTextArea, BorderLayout.CENTER);
                //OutputScrollPane.setViewportView(bigPanel);
                this.getContentPane().add(OutputScrollPane);
                //pack();
                //setVisible(true);
            }
 
Hi,
ich habe mal deinen Quelltext unter die Lupe genommen und habs mal selber schnell ausprobiert. Mit diesm Codeschnipsel sollte es funktionieren:

Code:
   public static void main(String[] args) {  
            JFrame mainFrame = new JFrame("Testframe");  	//Frame mit FlowLayout anlegen
            JTextArea OutputTextArea = new JTextArea();  		//TextArea anlegen
            JScrollPane OutputScrollPane = new JScrollPane();	//ScrollPane anlegen
            OutputScrollPane.setPreferredSize(new Dimension(300,200)); //Größe des ScollPane
            OutputScrollPane.add(OutputTextArea);			//TextArea in ScrollPane legen
            OutputScrollPane.setViewportView(OutputTextArea);	//ViewportView auf TextArea setzen
            mainFrame.getContentPane().add(OutputScrollPane);	//ScrollPane zu Frame hinzufügen
            mainFrame.pack();						//packen
            mainFrame.setVisible(true);					//Frame anzeigen
    }

Viel Spaß damit..
Zilchinger :)
 
@ocb:
Ich habs natürlich ausprobiert, aber es erscheint kein Scrollbalken wenn er benötigt wird.

@Zilchinger:
Hab auch Deinen Vorschlag getestet, aber irgendwie klappt das auch nicht.
?Muss ich da eventuell noch irgendwelche Voreinstellungen machen?
Das Ganze hab ich mit Eclipse und dem GUI-Plug-In Jigloo geschrieben.
 
Hi again,
also ich kenne das PlugIn leider nicht, ansonste progge ich auch in Eclipse.
Ich habe es extra bei mir ausprobiert und es läuft ohne Probleme.
Hier ist mal die komplette Klasse zum copy&pasten.
Da wird dann ein Frame mit einer TextArea erzeugt. Ist der Text größer wie das Sichtfeld, werden automatisch die ScrollBars eingeblendet.

Code:
import java.awt.Dimension;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class TextArea {

    public static void main(String[] args) {  
             JFrame mainFrame = new JFrame("Testframe");  //Frame mit FlowLayout anlegen
             JTextArea OutputTextArea = new JTextArea();  //TextArea anlegen
             JScrollPane OutputScrollPane = new JScrollPane();//ScrollPane anlegen
             OutputScrollPane.setPreferredSize(new Dimension(300,200)); //Größe des ScollPane
             OutputScrollPane.add(OutputTextArea);//TextArea in ScrollPane legen
             OutputScrollPane.setViewportView(OutputTextArea);//ViewportView auf TextArea setzen
             mainFrame.getContentPane().add(OutputScrollPane);//ScrollPane zu Frame hinzufügen
             mainFrame.pack();//packen
             mainFrame.setVisible(true);//Frame anzeigen
     }
}

PS: Denke daran, eventuell noch das Package in die Klasse zu schreiben.
 
Zurück