无法查看其他复选框。
这是我的复选框代码
public void initializeSenatorLists() {
CheckBox []chckSenators = new CheckBox[senators.length];
for(int s=0; s < senators.length; s++) {
chckSenators[s] = new CheckBox(senators[s]);
chckSenators[s].setStyle("-fx-font-size:15px;");
chckSenators[s].setTextFill(Color.WHITE);
senVbox.getChildren().add(chckSenators[s]);
}
for(CheckBox cbSen:chckSenators) {
cbSen.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
if(cbSen.isSelected()) {
senatorLimitVote++;
votedSenators.add(cbSen.getText());
}else {
votedSenators.remove(cbSen.getText());
senatorLimitVote--;
}
}
});
}
}
我想对我的复选框做什么就是这个
我希望你能帮助我。
答案 0 :(得分:4)
尝试将VBox放在scrollPane中。使用这种方法,您不必担心设置prefHeight和prefWidth属性。您可以使用&#39; USE_COMPUTED_SIZE&#39;对于VBox。
实施例: 在ScrollPane中添加VBox,动态添加各种元素,如HBox,Labels和矩形。
答案 1 :(得分:3)
您可以使用ScrollPane
。
示例:
ScrollPane scroll = new ScrollPane();
scroll.setContent(checkboxContainer);
答案 2 :(得分:0)
你可以添加一个带VBox的滚动条
Group root = new Group();
ScrollBar sc = new ScrollBar();
sc.setMin(0);
sc.setOrientation(Orientation.VERTICAL);
//set other properties
VBox vb = new VBox();
//add childrens to Vbox and properties
root.getChildren().addAll(vb, sc);
sc.valueProperty().addListener(new ChangeListener<Number>() {
public void changed(ObservableValue<? extends Number> ov,
Number old_val, Number new_val) {
vb.setLayoutY(-new_val.doubleValue());
}
});
您还可以参考here
如果要更改复选框的布局,请尝试使用不同的布局窗格(GridPane,TilePane等),而不是VBox。