Slyh: Grössen von Swing-Komponenten

Beitrag lesen

Hallo,

splitPane.setDividerLocation(splitPane.getPreferredSize().getWidth()*0.8);

Ergibt immer Fehler:

java.lang.IllegalArgumentException: proportional location must be between 0.0 and 1.0.

Dann muß wohl der Wert, den du da übergibst, zwischen 0.0 und 1.0 liegen, nä...
Siehe auch die Doku unter:
http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JSplitPane.html#setDividerLocation(double)

Der übergeben Wert -- sei es nun ein Integer oder ein Double -- ist
laut Doku als Prozentwert zu interpretieren. Bei einem Double-Wert
entspricht 1.0 eben 100%. Damit wäre der Divider ganz rechts.
Du kannst der Methode auch einen Integer übergeben, dann würde der
Wert "100" dem Prozentwert "100" entsprechen, und somit der Slider
wieder ganz rechts sein.

In deinem Code-Schnipsel oben übergibst du einen Double-Wert. (Und
dieser ist weit größer als 1.0.)

Da ich annehme, daß du den linken Bereich 80% und dem rechten Bereich
20% groß machen möchtest, würde wohl ein Wert von 0.8 deine Wünsche
erfüllen.

Übrigens Vorsicht.
Bei setDividerLocation(double proportionalLocation) ist zu lesen:
If the split pane is not correctly realized and on screen, this
method will have no effect.

Heißt: Du mußt erst das Fenster anzeigen lassen, in dem das SplitPane
ist, bevor du die Divider-Location setzen kannst.

Gruß
Slyh