Javafx:设置Tab助记符

时间:2014-11-13 17:53:41

标签: tabs javafx

快速提问:是否可以为JavaFX标签设置助记符?

我似乎只能将它们设置为按钮和菜单项等控件。

1 个答案:

答案 0 :(得分:3)

好的,这是一个有趣的问题!你是对的,你不能直接在Tab上设置助记符。但您可以将组件添加为支持助记符功能的Tabs图形:

private class MTab extends Tab
{
    public MTab(String pText)
    {
        super();
        Button fakeLabel = new Button(pText);
        fakeLabel.setMnemonicParsing(true);
        fakeLabel.getStyleClass().clear();
        setGraphic(fakeLabel);
        fakeLabel.setOnAction(ev -> {
            if (getTabPane() != null) {
                getTabPane().getSelectionModel().select(this);
            }
        });
    }
}

使用此标签:

TabPane tabs = new TabPane();
tabs.getTabs().add(new MTab("_this is a test"));
tabs.getTabs().add(new MTab("t_his is a test"));
tabs.getTabs().add(new MTab("th_is is a test"));

将通过快捷方式切换标签。