如何使用快捷键创建按钮?
结果将在按钮标签或控件上显示带下划线的字母。
然后,用户可以按[Alt] +键运行控件的默认actionEvent
。
提前谢谢。
答案 0 :(得分:0)
“我找到了与actionMap相关的东西。我看起来很复杂。”
根本不复杂。您要做的是使用Action
(类似与带有回调的ActionListener
),可以将其分配给不同的组件。您可以对Action
和 JPanel
使用相同的JButton
。
假设您有Action
Action printHelloAction = new AbstractAction("Print") {
public void actionPerformed(ActionEvent e) {
System.out.println("Hello");
}
};
您想要做的是将其添加到ActionMap
,InputMap
,{em>和的JPanel
,同时添加{{1}转到Action
JButton
您可以看到我对JPanel panel = new JPanel();
InputMap im = panel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
im.put(KeyStroke.getKeyStroke(KeyEvent.VK_P, ActionEvent.CTRL_MASK), "printAction");
ActionMap am = panel.getActionMap();
am.put("printAction", printHelloAction); // add to JPanel ActionMap
JButton button = new JButton(printHelloAction); // add to JButton
button.setText("Print Hello");
键绑定以及Action
使用了相同的JPanel
。
查看更多How to use Action和How to Use Key Bindings
以上是上述代码中的示例。使用 Ctrl + P
JButton