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

📄 htmlpaneltabbedpane.java

📁 一个使用struts+hibernate+spring开发的完的网站源代码。
💻 JAVA
字号:
/* * Copyright 2004 The Apache Software Foundation. *  * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *  *      http://www.apache.org/licenses/LICENSE-2.0 *  * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */package org.apache.myfaces.custom.tabbedpane;import org.apache.myfaces.renderkit.RendererUtils;import javax.faces.component.html.HtmlPanelGroup;import javax.faces.component.UIComponent;import javax.faces.component.NamingContainer;import javax.faces.component.UINamingContainer;import javax.faces.component.UIForm;import javax.faces.context.FacesContext;import javax.faces.el.EvaluationException;import javax.faces.el.MethodBinding;import javax.faces.el.ValueBinding;import javax.faces.event.AbortProcessingException;import javax.faces.event.FacesEvent;import java.util.Iterator;import java.util.List;/** * @author Manfred Geiler (latest modification by $Author: mmarinschek $) * @version $Revision: 1.10 $ $Date: 2005/02/11 16:03:00 $ * $Log: HtmlPanelTabbedPane.java,v $ * Revision 1.10  2005/02/11 16:03:00  mmarinschek * solve bug in tabbed panel when datatable was displayed not on tab, but at the bottom of the datatable... * * Revision 1.9  2005/01/24 12:20:11  mmarinschek * Changed the TabbedPane component to only decode components which are on the visible tags - other components are not processed in the decode phase. Changed the HtmlRendererUtils back to submit empty strings for components which should be posted back but have null values. * * Revision 1.8  2004/11/26 14:29:12  oros * bug fix #1006636: VisibleOnUserRole attribute for x:panelTab tag * * Revision 1.7  2004/10/13 11:50:58  matze * renamed packages to org.apache * * Revision 1.6  2004/08/09 07:28:20  manolito * activeTabStyleClass, inactiveTabStyleClass, activeSubStyleClass, inactiveSubStyleClass, tagContentStyleClass via codegen * * Revision 1.5  2004/07/10 17:11:02  o_rossmueller * added attributes activeTabStyleClass, inactiveTabStyleClass, activeSubStyleClass, inactiveSubStyleClass, tagContentStyleClass to overwrite style attributes using css * * Revision 1.4  2004/07/01 21:53:05  mwessendorf * ASF switch * * Revision 1.3  2004/04/16 15:13:31  manolito * validator attribute support and MethodBinding invoke exception handling fixed * * Revision 1.2  2004/04/06 15:36:31  manolito * go to render phase after tab switching * */public class HtmlPanelTabbedPane        extends HtmlPanelGroup{    //private static final Log log = LogFactory.getLog(HtmlPanelTabbedPane.class);    private MethodBinding _tabChangeListener = null;    //TODO: additional HTML Table attributes (see HtmlPanelTabbedPaneTag)    public void decode(FacesContext context)    {        super.decode(context);    //To change body of overridden methods use File | Settings | File Templates.    }    public void processDecodes(javax.faces.context.FacesContext context)    {        if (context == null) throw new NullPointerException("context");        decode(context);        int tabIdx = 0;        int selectedIndex = getSelectedIndex();        Iterator it = getFacetsAndChildren();        while (it.hasNext())        {            UIComponent childOrFacet = getUIComponent((UIComponent) it.next());            if (childOrFacet instanceof HtmlPanelTab)            {                if (tabIdx == selectedIndex)                {                    childOrFacet.processDecodes(context);                }                tabIdx++;            }            else            {                childOrFacet.processDecodes(context);            }        }    }    private UIComponent getUIComponent(UIComponent uiComponent)    {        if (uiComponent instanceof UINamingContainer || uiComponent instanceof UIForm)        {            List children = uiComponent.getChildren();            for (int i = 0, len = children.size(); i < len; i++)            {                uiComponent = getUIComponent((UIComponent)children.get(i));            }        }        return uiComponent;    }    public void addTabChangeListener(TabChangeListener listener)    {        addFacesListener(listener);    }    public void removeTabChangeListener(TabChangeListener listener)    {        removeFacesListener(listener);    }    public MethodBinding getTabChangeListener()    {        return _tabChangeListener;    }    public void setTabChangeListener(MethodBinding tabChangeListener)    {        _tabChangeListener = tabChangeListener;    }    public void broadcast(FacesEvent event) throws AbortProcessingException    {        if (event instanceof TabChangeEvent)        {            TabChangeEvent tabChangeEvent = (TabChangeEvent)event;            if (tabChangeEvent.getComponent() == this)            {                setSelectedIndex(tabChangeEvent.getNewTabIndex());                getFacesContext().renderResponse();            }        }        super.broadcast(event);        MethodBinding tabChangeListenerBinding = getTabChangeListener();        if (tabChangeListenerBinding != null)        {            try            {                tabChangeListenerBinding.invoke(getFacesContext(), new Object[]{event});            }            catch (EvaluationException e)            {                Throwable cause = e.getCause();                if (cause != null && cause instanceof AbortProcessingException)                {                    throw (AbortProcessingException)cause;                }                else                {                    throw e;                }            }        }    }    //------------------ GENERATED CODE BEGIN (do not modify!) --------------------    public static final String COMPONENT_TYPE = "org.apache.myfaces.HtmlPanelTabbedPane";    public static final String COMPONENT_FAMILY = "javax.faces.Panel";    private static final String DEFAULT_RENDERER_TYPE = "org.apache.myfaces.TabbedPane";    private static final int DEFAULT_SELECTEDINDEX = 0;    private Integer _selectedIndex = null;    private String _bgcolor = null;    private String _activeTabStyleClass = null;    private String _inactiveTabStyleClass = null;    private String _disabledTabStyleClass = null;    private String _activeSubStyleClass = null;    private String _inactiveSubStyleClass = null;    private String _tabContentStyleClass = null;    public HtmlPanelTabbedPane()    {        setRendererType(DEFAULT_RENDERER_TYPE);    }    public String getFamily()    {        return COMPONENT_FAMILY;    }    public void setSelectedIndex(int selectedIndex)    {        _selectedIndex = new Integer(selectedIndex);    }    public int getSelectedIndex()    {        if (_selectedIndex != null) return _selectedIndex.intValue();        ValueBinding vb = getValueBinding("selectedIndex");        Integer v = vb != null ? (Integer)vb.getValue(getFacesContext()) : null;        return v != null ? v.intValue() : DEFAULT_SELECTEDINDEX;    }    public void setBgcolor(String bgcolor)    {        _bgcolor = bgcolor;    }    public String getBgcolor()    {        if (_bgcolor != null) return _bgcolor;        ValueBinding vb = getValueBinding("bgcolor");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public void setActiveTabStyleClass(String activeTabStyleClass)    {        _activeTabStyleClass = activeTabStyleClass;    }    public String getActiveTabStyleClass()    {        if (_activeTabStyleClass != null) return _activeTabStyleClass;        ValueBinding vb = getValueBinding("activeTabStyleClass");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public void setInactiveTabStyleClass(String inactiveTabStyleClass)    {        _inactiveTabStyleClass = inactiveTabStyleClass;    }    public String getInactiveTabStyleClass()    {        if (_inactiveTabStyleClass != null) return _inactiveTabStyleClass;        ValueBinding vb = getValueBinding("inactiveTabStyleClass");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public void setActiveSubStyleClass(String activeSubStyleClass)    {        _activeSubStyleClass = activeSubStyleClass;    }    public String getActiveSubStyleClass()    {        if (_activeSubStyleClass != null) return _activeSubStyleClass;        ValueBinding vb = getValueBinding("activeSubStyleClass");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public void setInactiveSubStyleClass(String inactiveSubStyleClass)    {        _inactiveSubStyleClass = inactiveSubStyleClass;    }    public String getInactiveSubStyleClass()    {        if (_inactiveSubStyleClass != null) return _inactiveSubStyleClass;        ValueBinding vb = getValueBinding("inactiveSubStyleClass");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public void setTabContentStyleClass(String tabContentStyleClass)    {        _tabContentStyleClass = tabContentStyleClass;    }    public String getTabContentStyleClass()    {        if (_tabContentStyleClass != null) return _tabContentStyleClass;        ValueBinding vb = getValueBinding("tabContentStyleClass");        return vb != null ? (String)vb.getValue(getFacesContext()) : null;    }    public String getDisabledTabStyleClass()    {        return _disabledTabStyleClass;    }    public void setDisabledTabStyleClass(String disabledTabStyleClass)    {        this._disabledTabStyleClass = disabledTabStyleClass;    }    public Object saveState(FacesContext context)    {        Object values[] = new Object[10];        values[0] = super.saveState(context);        values[1] = _selectedIndex;        values[2] = _bgcolor;        values[3] = saveAttachedState(context, _tabChangeListener);        values[4] = _activeTabStyleClass;        values[5] = _inactiveTabStyleClass;        values[6] = _activeSubStyleClass;        values[7] = _inactiveSubStyleClass;        values[8] = _tabContentStyleClass;        values[9] = _disabledTabStyleClass;        return ((Object) (values));    }    public void restoreState(FacesContext context, Object state)    {        Object values[] = (Object[])state;        super.restoreState(context, values[0]);        _selectedIndex = (Integer)values[1];        _bgcolor = (String)values[2];        _tabChangeListener = (MethodBinding)restoreAttachedState(context, values[3]);        _activeTabStyleClass = (String)values[4];        _inactiveTabStyleClass = (String)values[5];        _activeSubStyleClass = (String)values[6];        _inactiveSubStyleClass = (String)values[7];        _tabContentStyleClass = (String)values[8];        _disabledTabStyleClass = (String)values[9];    }    //------------------ GENERATED CODE END ---------------------------------------}

⌨️ 快捷键说明

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