我想在左侧创建带有文本的复选框,在右侧创建复选框组件。我怎样才能改变他们的位置?
CheckBox cb = new CheckBox("Show on Startup");
在 JavaFX 8 中,您可以这样做:
Label lb = new Label("left check");
lb.setGraphic(new CheckBox());
lb.setContentDisplay(ContentDisplay.RIGHT); //You can choose RIGHT,LEFT,TOP,BOTTOM
可能有更简单的方法,但您可以使用标签并将其与 HBox 中的 CheckBox 一起包装:
HBox box = new HBox();
CheckBox cb = new CheckBox();
Label text = new Label("Show on Startup");
box.getChildren().addAll(text, cb);
box.setSpacing(5);
如果 CheckBox 像其他一些基于 Labeled 的控件一样将框视为其“内容”,那就太好了。然后可以将 contentDisplayProperty 设置为 ContentDisplay.RIGHT 来实现这一点。一个不错的副作用是我们可以通过调用 setGraphic() 来更改框的呈现。
从我的版本(1.8 EA b129)开始,CheckBox 不能这样工作。