快速提问:是否可以为JavaFX标签设置助记符?
我似乎只能将它们设置为按钮和菜单项等控件。
答案 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"));
将通过快捷方式切换标签。