# JTextArea + JScrollPane + JTabbedPane



## gorgophol (2. Apr 2005)

Also ich hab ein ähnliches Problem. 
_Edit Illuvatar: Thema geteilt. Bezieht sich auf http://www.java-forum.org/de/viewtopic.php?t=3938_

Ich erzeuge per Konstruktor ein komplettes Editor-Fenster mit GridLayout. 
EDIT: ich meinte natürlich Border-Layout

Als Center war ursrpünglich nur ne JTextArea. mit Scrollpane natürlich. Jetzt wollte ich aber anstatt immer nen komplett neues Editorfenster für ne neue Datei zu erzeugen, nur noch ein Tab erzeugen. 

Also ich mach jetzt folgendes. 

Scrollpane erzeugen und gleich die texarea übergeben. 
dann tabbedpane erzeugen und scrollpane übergeben. 

dann hab ich aber keine scrollpane. die hab uich nur, wenn ich ihr komplett die Textarea im Tab übergeb. 
DAnn kann ich natürlich nur ganz runter scrollen um an meine Tabs zu kommen. Auch net sonderlich praktisch. 

Jemand ne idee?

hier mein code bisher


```
/*Editorfeld*/
		edit = new JTextArea();
		edit.setLineWrap(true);
		edit.setWrapStyleWord(true);
		edit.addKeyListener(new MyKeyListener(this));
		Font t = new Font("eigen", Font.ROMAN_BASELINE, 16);
		edit.setFont(t);
		edit.setEditable(true);
		edit.addMouseListener(new MyMouseListener(this));
	
//		wird benötigt, damit später Scrollleisten angezeigt werden
		JScrollPane pEdit = new JScrollPane(edit);
		
		tabby = new JTabbedPane(JTabbedPane.BOTTOM);
		tabby.add("Edit 1", pEdit);

		setContentPane(tabby);
```


----------



## Roar (2. Apr 2005)

gorgophol hat gesagt.:
			
		

> dann hab ich aber keine scrollpane. die hab uich nur, wenn ich ihr komplett die Textarea im Tab übergeb.
> DAnn kann ich natürlich nur ganz runter scrollen um an meine Tabs zu kommen. Auch net sonderlich praktisch.



hä? nochmal verständlich bitte.
und man wird nicht geschlagen wenn man heir ienen neuen thread aufmacht anstatt das in einen 1 jahr alten zu schreiben :-/

Edit Illuvatar: Thema geteilt.


----------



## gorgophol (2. Apr 2005)

Also egal wie ich es probiere, ich kann nicht scrollen, sobald ich die JScrollpane and ie JTabbedPane übergeben. Ich hab also nur die normale JTextarea zur Verfügung. 

Wenn ich allerdings zuerst JTabbedpane mit JTexarea verknüpfe und das der JScrollpane hinzufüge, kann ich zwar scrollen, aber eben nicht die Textarea sondern die TabbedPane. Meine Tabs verschieben sich also immer weniger nach unten, je mehr Text ich einfüge


----------



## Roar (2. Apr 2005)

hä??


```
JTextArea ta = new JTextArea("lang\n\n\n\n\langer\n\n\n\ntext");
JTabbedPane tp = new JTabbedPane();
tp.addTab("lang", new JScrollPane(ta));
```

:?:


----------



## gorgophol (2. Apr 2005)

Ja. So hab ichs doch oben im Code gemacht, oder?

Ich habs jetzt nochmal genauso gemacht wie dus skizziert hast. Hab exakt das gleiche Ergebnis. 
Jetzt hab ich schön viele einzelne Tabs unten, aber ich kann in der Textarea nicht scrollen. ...


----------



## Roar (2. Apr 2005)

dann verlängere den text in der textarea :-/


----------



## gorgophol (2. Apr 2005)

In meiner Textarea ist ein Text von über 10 Seiten. 

Wenn ich mein Fenster vergrößer seh ich ja, dass mehr TExt drunter ist. ich kann nur nich scrollen. 
Wenn ich das ganz ohne Tabs mache, gehts problemlos


----------



## Illuvatar (2. Apr 2005)

Öh...

```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ScrollTabTest extends JFrame
{
  public static final long serialVersionUID = 0L;
  public ScrollTabTest(final String title)
  {
    super(title);
    setLayout(new BorderLayout());
    JTextArea area = new JTextArea("blupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\nblupp\n\n\n\n\n\nFisch");
    JTabbedPane jtp = new JTabbedPane();
    jtp.addTab("test", new JScrollPane (area));
    add (jtp);
    setSize (200, 200);
    setLocationRelativeTo (null);
    setVisible(true);
  }
  public static void main(final String[] args) {
    new ScrollTabTest("ScrollTabTest");
  }
}
```


----------



## gorgophol (2. Apr 2005)

Hm. 
So funktionierts. Danke. 

Hab meinen Denkfehler gefunden.


----------

