지금 JavaHelp 콘텐츠를 작업하고 있습니다.J 버튼을 클릭하여 도움말 키 F1 동작을 트리거하는 방법
기본적으로 첫 번째 해결 방법은 트리 메뉴 또는 노드 (JTree)에서 선택한 함수를 선택한 다음 도움말 키 (F1)를 누르면 선택한 노드를 기반으로 특정 JavaHelp 내용이 팝업됩니다.
바로 지금, 도움말 버튼을 추가하려고하는데, 사용자는 먼저 트리 메뉴 또는 노드에서 기능을 선택하고 도움말 버튼을 클릭해야합니다. 첫 번째 해결책과 정확히 일치한다고 가정하지만 지금은 올바른 내용을 팝업하지 않습니다.
어떻게하면 F1 키 동작을 트리거하도록 도움말 단추를 만들 수 있습니까? 우리가 노드를 선택할 때, F1 키를 누르면 포커스가 이미 팝업으로 나타납니다. 도움말 버튼은 F1 키 동작을 트리거 할뿐입니다.
do 함수 또는 키 바인딩에 대해 들었는데, 이에 대한 아이디어가 있습니까?
감사
감사합니다, Aznimah
안녕하세요, 나는 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());
의 ActionListener :
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
}
}
가 어떻게 액션의가 F1 키 액션을 트리거를 설정할 수 있습니다? 정말이
감사
안녕 덕분이다. 나는 다만 주어진 연결을 통해서 가고, 그러나 완전히 이해하지 않는다. 지금은 트리 메뉴 또는 노드를 선택하고 도움말 버튼을 직접 클릭했습니다. 도움말 버튼과 F1 키 동작을 어떻게 연관시킬 수 있습니까? –
예, 답장을 보내 주셔서 대단히 감사합니다. 어쨌든 다른 질문이 있습니다. F1 키 기능을 트리거 할 수 있습니다. 즉, 키보드에서 키를 누르지 않아도 FI 키를 프로그래밍 할 수 있습니다. –
대신 KeyBindings를 사용할 수 있습니다. 문서는 여기에서 찾을 수 있습니다. [KeyBindings] (http://docs.oracle.com/javase/tutorial/uiswing/misc/keybinding.html) –