Hej!
Dostałem na Uczelni zadanie napisania prostego edytora tekstów, Gdzie w menu opcje posiadam submenu a w nim kolejne submenu. Z tą sekcją nie było problemu z napisaniem. Problem Pokazał się gdy do drugiego poziomu wcięcia dopisałe idętycnie nazywające się przyciski np:
Option > Forgroud > Blue
Option > Backroud > Blue
Tu niestety na potkałem problem natury jak rozróżnić który przycisk został wciśnięty, z którego podmenu wybrałem opcje Blue ????
W załącznikach macie screen jak to wygląda, a poniżej kod budujący Menu.
private Component createOptionMenu() {
JMenu jmenuEdit = new JMenu(menuOptions);
jmenuEdit.setMnemonic(KeyEvent.VK_O);
JMenu jmenuEditForeGround = new JMenu("Forgeground");
JMenu jmenuEditBackground = new JMenu("Background");
JMenu jmenuEditFontSize = new JMenu("Font size");
getEditMenuItemsColors(jmenuEditBackground, 10, 10);
getEditMenuItemsColors(jmenuEditForeGround, 10, 10);
getEditMenuItemsFonts(jmenuEditFontSize);
jmenuEdit.add(jmenuEditForeGround);
jmenuEdit.add(jmenuEditBackground);
jmenuEdit.add(jmenuEditFontSize);
return jmenuEdit;
}
private JMenuItem getEditMenuItemsColors(JMenuItem jmenuitem, int w, int h) {
Color [] colors = { Color.BLUE, Color.YELLOW, Color.ORANGE, Color.RED,Color.WHITE,Color.BLACK,Color.GREEN };
String [] strColors = { "Blue", "Yellow", "Orange", "Red", "White", "Black", "Green" };
for (int i = 0; i < strColors.length; i++) {
JMenuItem jmi = new JMenuItem();
jmi.setText(strColors[i]);
jmi.setIcon(new ColorIcons(w, h, colors[i]));
jmi.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
}
});
jmenuitem.add(jmi);
}
return jmenuitem;
}