30 import java.util.List;
31 import java.util.WeakHashMap;
32
33 import javafx.beans.DefaultProperty;
34 import javafx.beans.property.DoubleProperty;
35 import javafx.beans.property.ObjectProperty;
36 import javafx.beans.property.SimpleDoubleProperty;
37 import javafx.beans.value.WritableValue;
38 import javafx.collections.FXCollections;
39 import javafx.collections.ListChangeListener;
40 import javafx.collections.ObservableList;
41 import javafx.geometry.Orientation;
42 import javafx.scene.Node;
43
44 import com.sun.javafx.collections.annotations.ReturnsUnmodifiableCollection;
45
46 import javafx.css.StyleableObjectProperty;
47 import javafx.css.CssMetaData;
48 import javafx.css.PseudoClass;
49
50 import com.sun.javafx.css.converters.EnumConverter;
51 import com.sun.javafx.scene.control.skin.SplitPaneSkin;
52
53 import javafx.css.Styleable;
54 import javafx.css.StyleableProperty;
55
56 /**
57 * <p>A control that has two or more sides, each separated by a divider, which can be
58 * dragged by the user to give more space to one of the sides, resulting in
59 * the other side shrinking by an equal amount.</p>
60 *
61 * <p>{@link Node Nodes} can be positioned horizontally next to each other, or stacked
62 * vertically. This can be controlled by setting the {@link #orientationProperty()}.</p>
63 *
64 * <p> The dividers in a SplitPane have the following behavior
65 * <ul>
66 * <li>Dividers cannot overlap another divider</li>
67 * <li>Dividers cannot overlap a node.</li>
68 * <li>Dividers moving to the left/top will stop when the node's min size is reached.</li>
69 * <li>Dividers moving to the right/bottom will stop when the node's max size is reached.</li>
70 * </ul>
71 *
|
30 import java.util.List;
31 import java.util.WeakHashMap;
32
33 import javafx.beans.DefaultProperty;
34 import javafx.beans.property.DoubleProperty;
35 import javafx.beans.property.ObjectProperty;
36 import javafx.beans.property.SimpleDoubleProperty;
37 import javafx.beans.value.WritableValue;
38 import javafx.collections.FXCollections;
39 import javafx.collections.ListChangeListener;
40 import javafx.collections.ObservableList;
41 import javafx.geometry.Orientation;
42 import javafx.scene.Node;
43
44 import com.sun.javafx.collections.annotations.ReturnsUnmodifiableCollection;
45
46 import javafx.css.StyleableObjectProperty;
47 import javafx.css.CssMetaData;
48 import javafx.css.PseudoClass;
49
50 import javafx.css.converter.EnumConverter;
51 import javafx.scene.control.skin.SplitPaneSkin;
52
53 import javafx.css.Styleable;
54 import javafx.css.StyleableProperty;
55
56 /**
57 * <p>A control that has two or more sides, each separated by a divider, which can be
58 * dragged by the user to give more space to one of the sides, resulting in
59 * the other side shrinking by an equal amount.</p>
60 *
61 * <p>{@link Node Nodes} can be positioned horizontally next to each other, or stacked
62 * vertically. This can be controlled by setting the {@link #orientationProperty()}.</p>
63 *
64 * <p> The dividers in a SplitPane have the following behavior
65 * <ul>
66 * <li>Dividers cannot overlap another divider</li>
67 * <li>Dividers cannot overlap a node.</li>
68 * <li>Dividers moving to the left/top will stop when the node's min size is reached.</li>
69 * <li>Dividers moving to the right/bottom will stop when the node's max size is reached.</li>
70 * </ul>
71 *
|