Я хочу создать пользовательский класс меню, который я могу добавить близко и свернуть кнопки. Я хочу расширить класс JMenuBar, но я не знаю, какие методы переопределить или как их переопределить. Я попытался проверить java-документы, но это только говорит вам, что делает метод, а не как он работает. Кто-то может помочь?Как создать пользовательский JMenuBar?
ответ
Да, вы можете расширить JMenuBar, чтобы создать свой собственный. Для того, чтобы иметь некоторые пользовательские кнопки меню, вы должны обеспечить
Создать конструктор с параметром ActionListener
общественных MyMenuBarClass (ActionListener p_objAl) { супер(); this.objal = p_objAl; initComponents(); }
При начальной кнопки меню, необходимо добавить объект 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);Реализовать объект ActionListener для обработки команды, такой как command1_1 в приведенном выше примере.
Вот как я модифицировал класс JMenuBar, кроме всех JComponents, а не только меню.
public class CustomMenuBar extends JMenuBar{
public JComponent addComponent(JComponent c) {
super.add(c);
return c;
}
}
Вы всегда можете проверить исходный код. –
Спасибо, я искал, как это получить, но по какой-то глупой причине я не использовал термин поиска «исходный код». – xFlRSTx
Он также часто доступен на вашем диске с загрузкой Java JDK, что-то вроде source.zip. –