java - 关于 javafx tableview
问题描述
我想自定义tableview的按钮,但是当我在initialize方法中得到show-hide-columns-button时它是空的。有一种方法可以获取 show-hide-columns-button。
@FXML
private TableView tableView;
@Override
public void initialize(URL location, ResourceBundle resources) {
tableView.setTableMenuButtonVisible(true);
final Node showHideColumnsButton = tableView
.lookup(".show-hide-columns-button");
System.out.println(showHideColumnsButton);
}
解决方案
如评论中所述,如果尚未显示,则调用lookup(".show-hide-columns-button")
返回 null 。Scene
一个简单的解决方案:
tableView.sceneProperty().addListener((observable, oldScene, newScene) -> {
if (newScene != null) {
newScene.windowProperty().addListener((obs, oldWindow, newWindow) -> {
if (newWindow != null) {
newWindow.addEventHandler(WindowEvent.WINDOW_SHOWN, event -> {
final Node showHideColumnsButton = tableView.lookup(".show-hide-columns-button");
// Customize your node here...
showHideColumnsButton.setStyle("-fx-background-color: red;");
event.consume();
});
}
});
}
});
推荐阅读
- flutter - 当用户点击后退按钮或滑动以关闭屏幕时,我该如何执行功能?
- python - 带全息视图的弦图:有关添加颜色和标签的问题
- xamarin.forms - 从 URL 加载图像并带有引用标题
- android - Android PlayConsole 警告:基于 Cordova 的应用程序 - 目标 Android API 级别 30
- python - 使用 optuna 对 huggingface 进行超参数搜索失败并出现 wandb 错误
- html - 内联 SVG 代码不显示 svg 图标
- sql - 错误出现在 jaspersoft studio 中,它们在输入 'month' 处没有可行的替代方案,在输入 'year' 处没有可行的替代方案,在 '=' 处缺少 EOF
- python - Python 语法“检查 = len(g[max(g, key=lambda key: len(g[key]))])”
- wordpress - 列出所有源 wordpress 以在 NGINX 上添加基本身份验证配置
- eclipse - 未能执行目标 eclipse-maven