# JSplitPane: feste Divider-Position?



## Nova (17. Sep 2005)

Hallo,

Wie kann ich einem JSplitPane beibringen das man den Divider nicht verschieben kann?

Momentan habe ich der linken Componente einen ComponentListener hinzugefügt der die Divider-Position wieder auf den Standardwert setzt, aber schön ist das nicht. (Der Mauszeiger ändert sich logischerweise immer noch wenn man mit der Maus drüberfährt und man bekommt auch immer noch den schwarzen Strich beim verschieben).
Die Divider-Größe auf 0 setzen will ich auch nicht da ich einen "Trennbalken" haben will, der soll halt nur nicht verschiebbar sein...


mfg
Christian


----------



## Roar (17. Sep 2005)

lol, was soll ne JSplitPane bringen die man nich ändern kann? hau doch einfach ne andere komponente zwischen deine beiden, anstatt ne splitpane zu benutzen


----------



## 8ull23y3 (17. Sep 2005)

Dzzz dieser Roar 

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JSplitPane.html <-- das ist die API dazu

Verwende die Methoden:


```
setDividerLocation(int  pos);
```

und,


```
setEnabled(boolean enabled);
```

geerbt von JComponent


----------



## Nova (17. Sep 2005)

Hallo,

Danke, hat funktioniert!
Allerdings ändert sich die Divider-Position wenn ich die Größe des Fensters ändere falls ich in einem der beiden Componenten einen FlowLayout Layoutmanager habe (egal ob "direkt" oder in einem "geschachtelten" Panel).
Ich konnte den FlowLayout-Layoutmanager durch einen anderen ersetzen, aber trotzdem seltsam das sich der Divider verschiebt?!?


Auf sowas einfaches muss man erstmal kommen *lol*
(Hab überall in der API und hier im Forum gsucht, aber auf die Idee einfach setEnable(false) zu benutzen bin ich nicht gekommen...   )


mfg
Christian


----------



## 8ull23y3 (17. Sep 2005)

Dafür sind Foren da  Im FlowLayout kannste es mal mitm


```
setPreferredSize(Dimension dim);
```

probieren.


----------



## Nova (17. Sep 2005)

Hallo,

Hab ich versucht, wird aber einfach ignoriert...


mfg
Christian


----------



## 8ull23y3 (18. Sep 2005)

Was meinst du? Was wird ignoriert? Wo hast du denn das FlowLayout gesetzt? Im Frame?


----------



## Nova (29. Sep 2005)

Hallo,

Es ist ein Panel welchem ich als Layout-Manager FlowLayout zuweise. Dieses Panel liegt wiederrum in einem anderen Panel.

Noch ein Problem:
Seit der Divder durch setEnabled(false) deaktiviert ist geht auch der andere Divider nicht mehr richtig.
Zur Erklärung: Ich habe ein SplitPane in dessen linker Hälfte ein "ControlPanel" ist mit Buttons usw., in der rechten Hälfte liegt ein anderes Split Pane (oben "Arbeitsfläche" und ein "Statuslog").
Das Problem: beim zweiten splitPane kann ich den Divider zwar noch verschieben, aber der mauszeiger bleibt immer "normal", er ändert sich nicht zu einem "verschieben"-Mauszeiger wie normal. Bug?
Hat jemand eine Idee wie man das Problem umgehen könnte?


----------



## Nova (10. Okt 2005)

Hat keiner eine Idee?


----------

