package org.arong.egdownloader.ui.swing;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseListener;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.JMenuItem;
import javax.swing.JSeparator;
import org.arong.egdownloader.ui.ComponentConst;
import org.arong.egdownloader.ui.CursorManager;
/**
* 封装JMenuItem,使构造函数可以设置文本,name值,鼠标监听或者添加其他子项<br>
* 如果有子项,则子项之间默认设有分割线
* @author 阿荣
* @since 2013-9-1
*
*/
public class AJMenuItem extends JMenuItem implements ActionListener{
private static final long serialVersionUID = -1883326507604845312L;
public AJMenuItem(String text, String icon){
this.setText(text);
this.setCursor(CursorManager.getPointerCursor());
if(icon != null && !"".equals(icon)){
URL url = getClass().getResource(ComponentConst.ICON_PATH + icon);
if(url != null){
this.setIcon(new ImageIcon(url));
}
}
}
public AJMenuItem(String text, String name, Component... components){
super(text);
this.setName(name);
this.setCursor(CursorManager.getPointerCursor());
for (int i = 0; i < components.length; i++) {
this.add(components[i]);
if(i != components.length - 1){
this.add(new JSeparator());
}
}
}
public AJMenuItem (String text, String icon, MouseListener listener){
this(text, icon);
this.addMouseListener(listener);
}
public AJMenuItem (String text, ImageIcon icon, MouseListener listener){
this.setText(text);
this.setCursor(CursorManager.getPointerCursor());
if(icon != null){
URL url = getClass().getResource(ComponentConst.ICON_PATH + icon);
if(url != null){
this.setIcon(new ImageIcon(url));
}
}
this.addMouseListener(listener);
}
public AJMenuItem (String text, Color color, String icon, ActionListener listener){
this(text, icon);
this.setForeground(color);
this.addActionListener(listener);
}
public AJMenuItem (String text, Color color, ImageIcon icon, ActionListener listener){
this(text, null);
if(icon != null){
this.setIcon(icon);
}
this.setForeground(color);
this.addActionListener(listener);
}
public AJMenuItem (String text, Color color, ActionListener listener){
this.setText(text);
this.setForeground(color);
this.addActionListener(listener);
}
public void actionPerformed(ActionEvent e) {
}
}