3

我想在左侧创建带有文本的复选框,在右侧创建复选框组件。我怎样才能改变他们的位置?

CheckBox cb = new CheckBox("Show on Startup");
4

3 回答 3

10

在 JavaFX 8 中,您可以这样做:

Label lb = new Label("left check");
lb.setGraphic(new CheckBox());
lb.setContentDisplay(ContentDisplay.RIGHT); //You can choose RIGHT,LEFT,TOP,BOTTOM
于 2014-09-22T18:59:03.650 回答
3

可能有更简单的方法,但您可以使用标签并将其与 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);
于 2013-08-11T23:11:07.453 回答
3

如果 CheckBox 像其他一些基于 Labeled 的控件一样将框视为其“内容”,那就太好了。然后可以将 contentDisplayProperty 设置为 ContentDisplay.RIGHT 来实现这一点。一个不错的副作用是我们可以通过调用 setGraphic() 来更改框的呈现。

从我的版本(1.8 EA b129)开始,CheckBox 不能这样工作。

于 2014-03-12T12:59:39.347 回答