Текла Ф1 JavaHelp

В любой программе или приложении в большинстве случаев, нажав клавишу F1, открывается система помощи, относящейся к этой утилите.

Я нахожусь в моем проекте и создал систему помощи, которая была бы должна открываться, нажав F1, но нет... 1) Он не Удается, нажав F1, он ничего не делает.

2) У меня есть меню с кнопкой и на abre система помощи, когда раз кликает из-за 2.

Код:

private void lanzarAyuda(){
        try{
            //Carga el fichero de ayuda.
            File fichero = new File("sistema_ayuda" + File.separator + "helpset.hs");
            URL hsURL = fichero.toURI().toURL();

            //Crea el HelpSet.
            HelpSet helpset = new HelpSet(getClass().getClassLoader(), hsURL);
            HelpBroker hb = helpset.createHelpBroker();
            //Mostrar el sistema de ayuda al pulsar F1.
            hb.enableHelpOnButton(button_ayuda, "principal", helpset);
            hb.enableHelpKey(getRootPane(), "principal", helpset);

            //Colocamos la posicion de la ventana (Posicion p).
            hb.setSize(new Dimension(800,600));
            //Colocamos el tamaño de la ventana (Dimension d).
            hb.setLocation(new Point(250,90));
        }catch(Exception e){
            e.printStackTrace();
        }
    }

private void button_ayudaActionPerformed(java.awt.event.ActionEvent evt) {                                             
        lanzarAyuda();
    }  
2
задан 08.01.2017, 23:11
1 ответ

Относительно твоего недостатка, из которого он ничего не делает, нажав F1 podr¦, - чтобы проистекать, в который Система не estÃ: распознавая pulsaci¦n соответствующей Клавиши. Ты можешь пытаться добавляя следующего método к твоей программе:

public static void addF1ListenerWindowDialog() 
{
   ActionListener F1Action = new ActionListener() {
    @Override
        public void actionPerformed(ActionEvent e) {
            //Todo lo que quieres que haga al pulsar F1
        }
    };
    windowDialog.getRootPane().registerKeyboardAction(F1Action,
    KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0),
    JComponent.WHEN_IN_FOCUSED_WINDOW);
}
2
ответ дан 24.11.2019, 11:43

Теги

Похожие вопросы