swing项加快捷键
时间: 2023-09-13 17:04:23 浏览: 208
在 Swing 中,可以为菜单项和按钮添加快捷键。你可以使用 `setAccelerator` 方法来设置快捷键。下面是一个示例代码,演示如何为菜单项和按钮添加快捷键:
```java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
public class SwingShortcutExample {
public static void main(String[] args) {
JFrame frame = new JFrame("Swing Shortcut Example");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem openMenuItem = new JMenuItem("Open");
JMenuItem saveMenuItem = new JMenuItem("Save");
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
menuBar.add(fileMenu);
frame.setJMenuBar(menuBar);
JButton button = new JButton("Save");
frame.add(button);
KeyStroke openKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_O, ActionEvent.CTRL_MASK);
KeyStroke saveKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_S, ActionEvent.CTRL_MASK);
openMenuItem.setAccelerator(openKeyStroke);
saveMenuItem.setAccelerator(saveKeyStroke);
button.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(saveKeyStroke, "save");
button.getActionMap().put("save", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
// 执行保存操作
System.out.println("Save action triggered!");
}
});
frame.setSize(300, 200);
frame.setVisible(true);
}
}
```
在这个例子中,我们创建了一个 JFrame,并添加了一个菜单和一个按钮。我们为菜单项 "Open" 和 "Save" 设置了快捷键 Ctrl+O 和 Ctrl+S。对于按钮,我们使用了类似的方法来设置快捷键。当用户按下快捷键时,相应的操作会被触发。
希望这个例子对你有帮助!如果你有任何其他问题,请随时提问。
阅读全文