2013-11-17 2 views
0

Я хочу создать пользовательский класс меню, который я могу добавить близко и свернуть кнопки. Я хочу расширить класс JMenuBar, но я не знаю, какие методы переопределить или как их переопределить. Я попытался проверить java-документы, но это только говорит вам, что делает метод, а не как он работает. Кто-то может помочь?Как создать пользовательский JMenuBar?

+1

Вы всегда можете проверить исходный код. –

+1

Спасибо, я искал, как это получить, но по какой-то глупой причине я не использовал термин поиска «исходный код». – xFlRSTx

+0

Он также часто доступен на вашем диске с загрузкой Java JDK, что-то вроде source.zip. –

ответ

0

Да, вы можете расширить JMenuBar, чтобы создать свой собственный. Для того, чтобы иметь некоторые пользовательские кнопки меню, вы должны обеспечить

  1. Создать конструктор с параметром ActionListener

    общественных MyMenuBarClass (ActionListener p_objAl) { супер(); this.objal = p_objAl; initComponents(); }

  2. При начальной кнопки меню, необходимо добавить объект ActionListener в добавленной JMenuItem, такие как

    JMenu menu1 = новый JMenu ("меню 1"); this.add (menu1); JMenuItem menuitem1_1 = новый JMenuItem («пункт меню 1.1»); menuitem1_1.setMnemonic (KeyEvent.VK_F10); menuitem1_1.setAccelerator (KeyStroke.getKeyStroke (KeyEvent.VK_F10, 0)); menuitem1_1.setActionCommand ("command1_1");
    menuitem1_1.addActionListener (this.objal);
    menu1.add (menuitem1_1);

  3. Реализовать объект ActionListener для обработки команды, такой как command1_1 в приведенном выше примере.

0

Вот как я модифицировал класс JMenuBar, кроме всех JComponents, а не только меню.

public class CustomMenuBar extends JMenuBar{ 
    public JComponent addComponent(JComponent c) { 
     super.add(c); 
     return c; 
    } 
} 
Смежные вопросы