我在css中更改了TableRows的高度并且它运行良好,但是如何更改TableCell中应该可编辑的TextField的大小。希望图片可以解释我的问题:
答案 0 :(得分:1)
您可以通过添加css来更改文本字段后的文本字段的css。您也可以在代码中更改一些内容。
private void createTextField() {
textField = new TextField(getString());
textField.setStyle("-fx-padding 1px 1px 1px 1px;-fx-font-size: 10pt;");
//or another way
textField.setPadding(new Insets(0,0,0,5));
textField.setFont(new Font(8));
您还可以使用textField.getStyleClass().add("my-textfield");
设置样式类,然后使用.my-textfield{css stuff...}
我认为最好的想法是不更改行大小,而是更改字体。然后行高自动更改。您甚至可以通过向场景添加带.root{ -fx-font-size:12pt;}
的样式表来更改整个应用程序中的字体。
Oracle sample有一个自定义编辑单元格,例如12-11。这就是创建TextField的地方。
如果使用TextFieldTableCell.forTableColumn
,可以使用.text-field-table-cell
.text-field-table-cell{
-fx-font-size:15pt;
-fx-background-color: pink;
}
即使在编辑之前,它也将为所有单元格设置样式。如果您只想要处于编辑状态的样式,请使用.text-field-table-cell .text-field{
。而且它们不一定是粉红色的。)