现在我正在处理 JavaHelp 内容。
基本上,第一个解决方案,在您从树形菜单或节点 (JTree) 中选择所选功能后,按下帮助键 (F1) 后,它将根据所选节点弹出特定的 JavaHelp 内容。
现在,我正在尝试添加帮助按钮,用户首先需要从树形菜单或节点中选择功能,然后单击我创建的帮助按钮。它假设与第一个解决方案完全相同,但现在,它不会弹出正确的内容。
如何使帮助按钮触发 F1 键操作?这意味着当我们选择节点时,它已经有一个焦点 n 如果我们按下 F1 键可以直接弹出,帮助按钮可能只是触发 F1 键动作。
我听说过 doClick 功能或键绑定,对此有什么想法吗?
谢谢
问候, 阿兹尼玛
嗨,我尝试实现键绑定以在用户单击帮助按钮时触发 F1 键操作。但我不知道如何设置代码来触发 F1 键动作。这是一些代码:
动作按钮:
final String helpIconLocation = new String("/icons/help_new.png");
iconResource = CustomizedToolbar.class.getResource(helpIconLocation);
icon = new ImageIcon(iconResource);
actionButton = new JButton(icon);
actionButton.setFocusable(false);
actionButton.addActionListener(new JavaHelpHandler());
动作监听器:
private class JavaHelpHandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent arg0) {
Action javaHelpF1KeyAction = new AbstractAction();
KeyStroke helpKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0);
MainApp.getMainAppPanel().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(
helpKeyStroke, "F1");
MainApp.getMainAppPanel().getActionMap().put("F1", javaHelpF1KeyAction);
}
}
private class AbstractAction implements ActionListener, Action {
@Override
public void actionPerformed(ActionEvent e) {
// TO display popup javaHelp content
HelpSystemUtil.getInstance().enableHelpFromFocus(actionButton);
}
@Override
public void addPropertyChangeListener(PropertyChangeListener listener) {
// TODO Auto-generated method stub
}
@Override
public Object getValue(String key) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean isEnabled() {
// TODO Auto-generated method stub
return false;
}
@Override
public void putValue(String key, Object value) {
// TODO Auto-generated method stub
}
@Override
public void removePropertyChangeListener(PropertyChangeListener listener) {
// TODO Auto-generated method stub
}
@Override
public void setEnabled(boolean b) {
// TODO Auto-generated method stub
}
}
如何设置 actionMap 以触发 F1 键操作?真的需要帮助
谢谢