相关疑难解决方法(0)

调整TableView菜单按钮

问题

TableView的setTableMenuButtonVisible提供了一种更改表列可见性的机制.但是,该功能还有很多不足之处:

  • 菜单应保持打开状态.我有15个表格列,单击菜单打开很痛苦 - >单击列 - >单击菜单打开 - >单击下一列 - > ...更改多列的可见性很痛苦

  • 应该选择全部/取消选择所有功能

  • 应该有一种方法来扩展菜单与自定义项目

  • 取消选择所有列后,无法重新选择列,因为标题已消失,并且表格菜单已经消失

换句话说:表菜单的当前实现是相当无用的.

有没有人知道如何用适当的方式替换现有的tableview菜单?我见过一个带有".show-hide-columns-button"样式查找并添加事件过滤器的解决方案.然而那是2年前,也许事情发生了变化.

非常感谢你!

这就是我想要的方式,通过ContextMenu演示(即点击桌面上的鼠标右键):

public class TableViewSample extends Application {

    private final TableView table = new TableView();
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) {
        Scene scene = new Scene(new Group());
        stage.setTitle("Table View Sample");
        stage.setWidth(300);
        stage.setHeight(500);

        // create table columns
        TableColumn firstNameCol = new TableColumn("First Name");
        TableColumn lastNameCol = new TableColumn("Last Name");
        TableColumn emailCol = new TableColumn("Email");

        table.getColumns().addAll(firstNameCol, …
Run Code Online (Sandbox Code Playgroud)

javafx menu tableview

5
推荐指数
1
解决办法
4468
查看次数

如何在JavaFX中从TableView获取TableHeaderRow?

我看到了如何使用代码在许多地方获取表头的示例

TableHeaderRow header = (TableHeaderRow) tableView.lookup("TableHeaderRow");
Run Code Online (Sandbox Code Playgroud)

像这里:如何防止TableView在javaFX 8中执行TableColumn重新排序?

但是这段代码null对我来说很重要.

怎么到达TableHeaderRow呢?

java javafx tableview

5
推荐指数
1
解决办法
2284
查看次数

标签 统计

javafx ×2

tableview ×2

java ×1

menu ×1