⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systemhelptoolbarhandler.java

📁 一个数据挖掘软件ALPHAMINERR的整个过程的JAVA版源代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:

	private boolean isHelpMode() {
		return m_HelpState;
	}

	public void setHelpMode(boolean a_HelpState) {
		setHelpState(a_HelpState);
	}

	/**
	 * Sets the help state this operator.
	 * 
	 * @param a_HelpState
	 *            help state.
	 */
	private void setHelpState(boolean a_HelpState) {
		m_HelpState = a_HelpState;
	}

	public void actionPerformed(ActionEvent e) {
		Object source = e.getSource();
		JCheckBoxMenuItem menuItem;
		
		if(source==m_Float) {
			if(m_Float.isSelected()) {
				Float(new Point(0,0));
			}
			else {
				Dock();
			}
		}
		else if(source instanceof JCheckBoxMenuItem) {
			menuItem = (JCheckBoxMenuItem)source;
			int index = pagesMainMenus .indexOf(menuItem);
			if(index>=0) {
				if(!menuItem.isSelected()) {
					m_TabbedPane.remove(pages.get(index));
					if(m_TabbedPane.getComponentCount()==0) {
						m_Container.removeSystemHelpToolBar();
					}
				}
				else {
					if(m_TabbedPane.getTabCount()<=index||m_TabbedPane.getComponentAt(index)!=pages.get(index)) {
						m_TabbedPane.add(pages.get(index), index);
					}
				}
			}
		}
	}

	/**
	 * @see java.awt.event.MouseListener#mouseExited(MouseEvent)
	 */
	public void mouseExited(MouseEvent e) {
	}

	/**
	 * @see java.awt.event.MouseListener#mousePressed(MouseEvent)
	 */
	public void mousePressed(MouseEvent e) {
		if (isHelpMode()) {
			setHelpMode(false);
			HelpObserveSubject.sendNotify(m_HelpState);
		}
	}

	/**
	 * @see java.awt.event.MouseListener#mouseReleased(MouseEvent)
	 */
	public void mouseReleased(MouseEvent e) {
	}

	/**
	 * @see java.awt.event.MouseListener#mouseClicked(MouseEvent)
	 */
	public void mouseClicked(MouseEvent e) {
		if (e.getClickCount() == 1 && e.getButton() == MouseEvent.BUTTON3) {
			m_Float.setSelected(((BasicToolBarUI)getToolBar().getUI()).isFloating());
			m_SystemToolBarFloatMenu.show(pages.indexOf(m_TabbedPane.getSelectedComponent()),e.getComponent(), e.getX(), e.getY());
		}
	}
	
	/**
	 * Reset UI language to specific language
	 * */
	public void resetLocale() {
		//TODO
		//page & menu
		m_Float.setText(Resource.srcStr("m_FloatToolbar"));
		int i,size = pages.size();
		SystemToolPagePanel aToolPagePanel;
		groups.removeAllElements();
		for(i=0;i<size;i++) {
			aToolPagePanel = pages.get(i);
			aToolPagePanel.resetLanguage();
			pagesMainMenus.get(i).setText(aToolPagePanel.getName());
			groups.add(aToolPagePanel.getMenuItemGroup());
		}
		
		//tab tile
		size = m_TabbedPane.getTabCount();
		for(i=0;i<size;i++) {
			aToolPagePanel = (SystemToolPagePanel)m_TabbedPane.getComponentAt(i);
			m_TabbedPane.setTitleAt(i, aToolPagePanel.getName());
		}
		
		m_SystemToolBarFloatMenu.resetLanguage();
	}
}
/**
 * FloatMenu is a right-click popup menu of an SystemToolBar, whose menuitem can be easily add or remove.
 */
class GroupFloatMenu extends JPopupMenu implements ItemListener {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	private MenuItemGroup constant = new MenuItemGroup();
	
	private Vector<MenuItemGroup> groups = new Vector<MenuItemGroup>();
	
	private int currentGroupIndex=-1;
	
	/**
	 * Constructs a FloatMenu for a specific SystemHelpToolBar.
	 * 
	 * @param SystemHelpToolBar
	 *            the specific SystemHelpToolBar that this FloatMenu belongs to.
	 */
	public GroupFloatMenu(MenuItemGroup constant, Vector<MenuItemGroup> groups) {
		super();
		this.constant = constant;
		this.groups = groups;
	}

	public void reset() {
		currentGroupIndex = -1;
	}

	/**
	 * set constant JMenuItem set
	 * */
	public void setConstant(MenuItemGroup aMenuItemGroup){
		if(constant!=null){
			constant.clear();
		}
		constant = aMenuItemGroup;
	}
	
	/**
	 * @author Xiaojun Chen
	 * */
	public void addAlltoConstant(MenuItemGroup aMenuItemGroup){
		if(constant==null){
			constant = aMenuItemGroup;
		}
		constant.addAll(aMenuItemGroup);
	}
	
	public MenuItemGroup getConstan(){
		return constant;
	}
	
	/**
	 * @author Xiaojun Chen
	 * @throws IllegalArgumentException
	 * 
	 * */
	public void addGroup(MenuItemGroup aMenuItemGroup,int index) throws IllegalArgumentException{
		if(aMenuItemGroup==null||index<-1||index>groups.size()){
			throw new IllegalArgumentException(
			  "illegal group position");
		}
		if(index==-1){
			groups.add(aMenuItemGroup);
		}
		else{
			groups.add(index, aMenuItemGroup);
		}
	}
	
	/**
	 * @author Xiaojun Chen
	 * @throws IllegalArgumentException
	 * */
	public MenuItemGroup getGroup(int index) throws IllegalArgumentException{
		if(index<0||index>groups.size()){
			throw new IllegalArgumentException(
			  "illegal group position");
		}
		return groups.get(index);
	}
	
	/**
	 * @author Xiaojun Chen
	 * @param groupIndex the index of group will be gotten
	 * @param hasconstan whether contain constant menu item, <code>true<code> if contains, else <code>false<code>
	 * @throws IllegalArgumentException
	 * */
	public JPopupMenu getFloatMenu(int groupIndex, boolean hasconstan) throws IllegalArgumentException{
		if(groupIndex<0||groupIndex>groups.size()){
			throw new IllegalArgumentException(
			  "illegal group position");
		}
		
		JPopupMenu menu = new JPopupMenu();
		
		if(hasconstan){
			if(constant!=null){
				menu = constant.addto(menu);
			}
		}
		
		MenuItemGroup group = groups.get(groupIndex);
		if(group!=null){
			menu = group.addto(menu);
		}
		return menu;
	}
	
	public void show(int GroupIndex,Component invoker, int x, int y) {
		if(GroupIndex==currentGroupIndex) {
			show(invoker, x, y);
		}
		else if(GroupIndex>=0&GroupIndex<groups.size()){
			currentGroupIndex = GroupIndex;
			generateMenu();
			show(invoker, x, y);
		}
	}
	
	private void generateMenu() {
		int i = constant.size();
		int size = this.getComponentCount();
		if(i>size) {
			this.removeAll();
			constant.addto(this);
		}
		else {
			for(size--;size>=i;size--) {
				this.remove(size);
			}
		}
		add(new JPopupMenu.Separator());
		groups.get(currentGroupIndex).addto(this);
	}
	
	public void resetLanguage() {
		if(currentGroupIndex!=-1) {
			this.removeAll();
			generateMenu();
			this.repaint();
		}
	}
	
	public void dispose() {
		constant.removeAllElements();
		groups.removeAllElements();
		constant = null;
		groups = null;
	}

	/**
	 * @see java.awt.event.ItemListener#itemStateChanged(ItemEvent)
	 */
	public void itemStateChanged(ItemEvent e) {
	}
}
class MenuItemGroup extends Vector<JComponent>{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	
	public MenuItemGroup(){
		super();
	}	
	
	/**
	 * add all JMenuItem into the last position of popMenu
	 * @param popMenu which the popmenu menu items be added into
	 * */
	public JPopupMenu addto(JPopupMenu popMenu){
		if(popMenu==null){
			popMenu = new JPopupMenu();
		}
		int size = size();
		for(int i=0;i<size;i++){
			popMenu.add(get(i));
		}
		return popMenu;
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -