我已经在 css 中更改了 TableRows 的高度并且它运行良好,但是我如何更改 TableCell 一侧的 TextField 的大小,它应该是可编辑的。希望图片可以解释我的问题:
最佳答案
您可以在创建文本字段后通过添加 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- 在样式表中为程序创建样式文本字段{css 东西...}
我认为最好的办法是不更改行大小,而是更改字体。然后行高会自动更改。您甚至可以通过向场景添加带有 .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{
。而且它们不必是粉红色的:)
关于JavaFX 可编辑表格 View : How to change size and css of the TextField inside of TableCell?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23757988/