帆软报表设计器源代码。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

66 lines
1.7 KiB

package com.fr.design.condition;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import com.fr.base.BaseUtils;
import com.fr.design.gui.ibutton.UIButton;
import com.fr.design.gui.imenu.UIPopupMenu;
import com.fr.design.menu.MenuDef;
import com.fr.design.utils.gui.GUICoreUtils;
/**
* Define Menu.
*/
public class CellHighlightAddMenuDef extends MenuDef {
public CellHighlightAddMenuDef() {
}
public CellHighlightAddMenuDef(String name) {
this.setName(name);
}
public CellHighlightAddMenuDef(String name, char mnemonic) {
this.setName(name);
this.setMnemonic(mnemonic);
}
// 生成UIButton,iconpath不可为null
public UIButton createUIButton() {
if (createdButton == null) {
if (this.iconPath != null && this.name != null) {
createdButton = new UIButton(BaseUtils.readIcon(this.iconPath));
} else if (this.iconPath != null) {
createdButton = new UIButton(BaseUtils.readIcon(this.iconPath));
} else {
createdButton = new UIButton(this.name);
}
createdButton.addMouseListener(mouseListener);
}
return createdButton;
}
private MouseListener mouseListener = new MouseAdapter() {
public void mouseReleased(MouseEvent evt) {
Object source = evt.getSource();
UIButton button = (UIButton) source;
if (!button.isEnabled()) {
return;
}
UIPopupMenu popupMenu = new UIPopupMenu();
popupMenu.setInvoker(button);
CellHighlightAddMenuDef.this.updatePopupMenu(popupMenu);
GUICoreUtils.showPopupMenu(popupMenu, button, 0, button.getSize().height);
}
public void mouseExited(MouseEvent evt) {
if (createdButton != null) {
createdButton.setEnabled(true);
}
}
};
}