在FXML中设置TableColumn的工具提示

时间:2017-01-03 17:43:18

标签: javafx tooltip fxml

对于Button,我可以通过

设置工具提示
<Button>
    <tooltip>
        <Tooltip text="Tooltip text" />
    </tooltip>
</Button>

如何为TableColumn执行相同/类似操作?

<TableColumn>
    <cellValueFactory>
        <PropertyValueFactory property="someProperty" />
    </cellValueFactory>
    <tooltip>
        <Tooltip text="Tooltip text" />
    </tooltip>
</TableColumn>

不起作用..

1 个答案:

答案 0 :(得分:3)

假设您想在列标题上提供工具提示,一种方法是在TableColumn上设置图形而不是设置文本,并在图形上设置工具提示。

即。而不是:

<TableColumn text="Column 1">
    <cellValueFactory>
        <PropertyValueFactory property="someProperty" />
    </cellValueFactory>
</TableColumn>

你可以做到

<TableColumn>
    <cellValueFactory>
        <PropertyValueFactory property="someProperty" />
    </cellValueFactory>
    <graphic>
        <Label text="Column 1">
            <tooltip>
                <Tooltip text="Tooltip text" />
            </tooltip>
        </Label>
    </graphic>
</TableColumn>

请注意,这有一些副作用。例如,表格视图有menu button,用于控制列的可见性。这是由菜单项填充的,其文本是列的文本:因此使用此技术将使该菜单按钮不可用。使用工具提示创建表列,同时保留表列的text值需要一些CSS hackery。