package org.limewire.ui.swing.menu;
import java.awt.Color;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.event.MenuEvent;
import javax.swing.event.MenuListener;
import org.jdesktop.application.Resource;
import org.limewire.ui.swing.action.DelayedMenuItemCreator;
import org.limewire.ui.swing.util.GuiUtils;
import com.google.inject.Inject;
public class LimeMenuBar extends JMenuBar {
@Resource private Color backgroundColor;
private final MenuListener menuListener;
@Inject
LimeMenuBar(FileMenu fileMenu, FriendsMenu friendMenu, ViewMenu viewMenu, HelpMenu helpMenu,
ToolsMenu toolsMenu) {
GuiUtils.assignResources(this);
setBackground(backgroundColor);
menuListener = new MenuListener() {
@Override
public void menuCanceled(MenuEvent e) {
((JMenu)e.getSource()).removeAll();
}
@Override
public void menuDeselected(MenuEvent e) {
((JMenu)e.getSource()).removeAll();
}
@Override
public void menuSelected(MenuEvent e) {
((DelayedMenuItemCreator)e.getSource()).createMenuItems();
}
};
addMenu(0, fileMenu);
addMenu(1, viewMenu);
addMenu(2, friendMenu);
addMenu(3, toolsMenu);
addMenu(4, helpMenu);
}
private void addMenu(int idx, JMenu menu) {
add(menu, idx);
menu.setBackground(backgroundColor);
menu.addMenuListener(menuListener);
}
}