Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > Главное меню в Swing


Автор: javer 24.10.2010, 12:23
Помогите изменить этот класс чтобы 
  • мой метод Application.ShowAssociations(); вызывался по нажатию ALT+A
  • мой метод Application.showAbout(); вызывался по F1
Сам пытался, не получилось, вот класс:

Код

class MainFrame_MenuBar extends JMenuBar {

    MainFrame_MenuBar() {
        JMenu mFile = new JMenu("File");
        mFile.setMnemonic(KeyEvent.VK_F);
            JMenuItem miShowAnswers = new JMenuItem("Show Answers", KeyEvent.VK_A);
            miShowAnswers.addKeyListener(new KeyAdapter(){
                public void KeyPressed(KeyEvent ke) {
                    if (ke.isControlDown() && (ke.getKeyChar() == 'A')) {
                        Application.ShowAssociations();
                    }
                }
            });
            miShowAnswers.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    Application.ShowAssociations();
                }
            });
            mFile.add(miShowAnswers);
        JMenu mHelp = new JMenu("Help");
        mHelp.setMnemonic(KeyEvent.VK_H);
            JMenuItem miAbout = new JMenuItem("About...");
            miAbout.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent ae) {
                    Application.showAbout();
                }
            });
            mHelp.add(miAbout);
        add(mFile);
        add(mHelp);
    }
}

Автор: mgarin 25.10.2010, 10:43
Код
        JMenu mFile = new JMenu ( "File" );
        mFile.setMnemonic ( KeyEvent.VK_F );

        JMenuItem miShowAnswers = new JMenuItem ( "Show Answers" );
        miShowAnswers.setAccelerator ( KeyStroke.getKeyStroke ( 'A', KeyEvent.ALT_MASK ) );
        miShowAnswers.addActionListener ( new ActionListener()
        {
            public void actionPerformed ( ActionEvent e )
            {
                Application.ShowAssociations ();
            }
        } );
        mFile.add ( miShowAnswers );

        JMenu mHelp = new JMenu ( "Help" );
        mHelp.setMnemonic ( KeyEvent.VK_H );

        JMenuItem miAbout = new JMenuItem ( "About..." );
        miAbout.setAccelerator ( KeyStroke.getKeyStroke ( KeyEvent.VK_F1, 0 ) );
        miAbout.addActionListener ( new ActionListener()
        {
            public void actionPerformed ( ActionEvent ae )
            {
                Application.showAbout ();
            }
        } );
        mHelp.add ( miAbout );

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)