Я ищу, чтобы удалить фон флажка, потому что он занимает место в TableCell
, и это приводит к тому, что CheckBox
не центрирован.
Как вы можете видеть, отмечен ли фон красный, он превышает флажок и занимает пробел.
Вот минимальный код, который вы можете проверить, и снимок экрана:
Контроллер:
public class Controller implements Initializable {
@FXML
private TableColumn<Object,String> one;
@FXML
private TableView<Object> table;
@Override
public void initialize(URL location, ResourceBundle resources) {
one.setCellFactory(cell -> new CheckBoxTableCell<Object, String>(){
@Override
public void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if(empty){
return;
}
CheckBox graphic = (CheckBox) getGraphic();
graphic.setStyle("-fx-background-color: red");
}
});
table.getItems().add(new Object());
}
}
Я хотел бы убрать красную часть, оставив только саму коробку.
Я попытался сбросить для нее отступ, но он не работает. Вы можете мне помочь?
Примечание: я не приму setPadding(new Insets(0,-x,-y,0)
, поэтому установка отрицательных значений для него, чтобы компенсировать «ошибку» только в том случае, если вы можете объяснить это, почему это единственное решение.