我想在左侧创建带有文本的复选框,在右侧创建复选框组件。我怎么能改变他们的位置?
CheckBox cb = new CheckBox("Show on Startup");
答案 0 :(得分:7)
在JavaFX 8中,您可以这样做:
Label lb = new Label("left check");
lb.setGraphic(new CheckBox());
lb.setContentDisplay(ContentDisplay.RIGHT); //You can choose RIGHT,LEFT,TOP,BOTTOM
答案 1 :(得分: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);
答案 2 :(得分:3)
如果CheckBox将盒子视为其内容"那将是很好的。像基于Labeled的其他一些控件一样。然后可以将contentDisplayProperty设置为ContentDisplay.RIGHT来实现此目的。一个很好的副作用是我们可以通过setGraphic()调用来改变框的渲染。
自我发布(1.8 EA b129)以来,CheckBox并没有这样做。