Ich möchte den Teiler einer SplitPane auf eine bestimmte Standardposition setzen. Das funktioniert nicht, die Teiler Aufenthalte in der Mitte:Teilerposition von SplitPane einstellen
public void start(Stage primaryStage) throws Exception{
SplitPane splitPane = new SplitPane(new Pane(), new Pane());
// Report changes to the divider position
splitPane.getDividers().get(0).positionProperty().addListener(
o -> System.out.println(splitPane.getDividerPositions()[0])
);
// Doesn't work:
splitPane.setDividerPositions(0.8);
// The docs seem to recommend the following (with floats instead of
// doubles, and with one number more than there are dividers, which is
// weird), but it doesn't work either:
//splitPane.setDividerPositions(0.8f, 0.2f);
primaryStage.setScene(new Scene(splitPane));
primaryStage.setMaximized(true);
primaryStage.show();
}
Der Ausgang:
0.8
0.5
Es legt nahe, dass etwas, das es in die Mitte zurücksetzt.
Wie kann ich das erreichen?
Das ist im Wesentlichen das Gleiche wie was ich gepostet habe und ergibt genau das gleiche Ergebnis. Und es ist ein Wert zwischen 0,0 und 1,0, nicht wirklich ein Prozentsatz. – Midgard
Es funktioniert in meinem Code. – Mark
Ja. Es könnte eine Reihenfolge der Operationen sein. Versuchen Sie, eine Schaltfläche hinzuzufügen und die Methode dort einzufügen. – Mark