# Grösse einer JEditorPane ändern



## tritko1 (7. Dez 2006)

Ist das denn möglich, eine Größe mit setBounds der 
JEditorPane mit einer JScrollPane festzulegen? 

Wenn ich dies versuche, dann ist leider die JScrollPane nicht mehr 
vorhanden.

Danke für eure Hilfe....


----------



## robinab (7. Dez 2006)

Hallo tritko1,

Du solltest die Größe Deiner JScrollPane verändern, nicht der darinliegenden JEditorPane.
Die ScrollPane "zieht" die EditorPane automatisch mit.

Gruß!
Robin


----------



## tritko1 (7. Dez 2006)

Habe es mal versucht mit setBounds, aber es funktioniert nicht.

Viell. kannst du mit meinem Code mehr anfangen...


```
public class ShowFrame extends JPanel
{
	//Deklaration
	JTextPane textflaeche;
	JScrollPane scrollPane;
	JButton button;
	public ShowFrame(ArrayList al_linieauswahl)
	{
		textflaeche=new JTextPane();
		
		textflaeche.setEditable(false);
		String uebergabe=(String) al_linieauswahl.toString();
		textflaeche.setText(uebergabe);
		// Einfügen des Textes in TextPane
		JScrollPane scrollPane = new JScrollPane(textflaeche);
		// Definition: (x,y, width, height)
		scrollPane.setBounds(5,5,10,10);
		add(scrollPane);
		
		/*Button=new JButton ("Zum Druckmenü");
		button.setBounds(200,570,50,20);
		add(button);*/
	
	}//end Konstruktor
}//end class
```

Das ist die Klasse, in der ShowFrame aufgerufen wird (in dieser Klasse ist aber keine main enthalten)


```
//Deklarationen
showtext=new JFrame("Anzeige der ausgewählten IZB´s");
showtext.setSize(450,600);
showtext.setLocation(350, 70);
showtext.setResizable(false);
//showtext.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
ShowFrame sf=new ShowFrame(al_linieauswahl);
showtext.getContentPane().add(sf);
showtext.setVisible(true);
```


Danke für eure Hilfen...


----------



## The_S (7. Dez 2006)

Versuhcs mal mit setPreferredSize


----------



## robinab (7. Dez 2006)

Ah, ich sehe schon.
Du weist Deinem ShowFrame kein explizites Layout zu.
Wenn Du das nicht tust, hat ShowFrame das Defaultlayout FlowLayout! Und das reagiert nicht auf setBounds(). Das rechnet die Größen der darinliegenden Elemente selber aus.

Wenn Du sf.setLayout(null) schreibst, kannst Du die Bounds setzen und die Elemente werden dann auch genau so auf Deinen ShowFrame positioniert.

Allerdings bleiben die Elemente dann auch starr auf Deiner Pane, wenn Du sie grösser oder kleiner ziehst. Darum wird das null-Layout auch nicht empfohlen. Sollen die Elemente tatsächlich in der Größe genau so bleiben, dann solltest Du showtext.setRezisable(false) setzen. Sollen sich die Elemente in der Größe anpassen, solltest Du es beim FlowLayout belassen und die Größe der Element mit setPreferredSize() und hGap und vGap beeinflussen!

Gruß!
Robin


----------



## tritko1 (7. Dez 2006)

Das ist es....

Nochmals vielen Dank für die Info. Du 
hast mir sehr geholfen...


----------

