亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? basictabbedpaneui.java

?? java1.6眾多例子參考
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
/* * @(#)BasicTabbedPaneUI.java	1.172 08/06/06 * * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.basic;import sun.swing.SwingUtilities2;import javax.swing.*;import javax.swing.event.*;import javax.swing.plaf.*;import javax.swing.text.View;import java.awt.*;import java.awt.event.*;import java.beans.PropertyChangeListener;import java.beans.PropertyChangeEvent;import java.util.Vector;import java.util.Hashtable;import sun.swing.DefaultLookup;import sun.swing.UIAction;/** * A Basic L&F implementation of TabbedPaneUI. * * @version 1.87 06/08/99 * @author Amy Fowler * @author Philip Milne * @author Steve Wilson * @author Tom Santos * @author Dave Moore */public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants {// Instance variables initialized at installation    protected JTabbedPane tabPane;    protected Color highlight;    protected Color lightHighlight;    protected Color shadow;    protected Color darkShadow;    protected Color focus;    private   Color selectedColor;    protected int textIconGap;    protected int tabRunOverlay;    protected Insets tabInsets;    protected Insets selectedTabPadInsets;    protected Insets tabAreaInsets;    protected Insets contentBorderInsets;    private boolean tabsOverlapBorder;    private boolean tabsOpaque = true;    private boolean contentOpaque = true;    /**     * As of Java 2 platform v1.3 this previously undocumented field is no     * longer used.     * Key bindings are now defined by the LookAndFeel, please refer to     * the key bindings specification for further details.     *     * @deprecated As of Java 2 platform v1.3.     */    @Deprecated    protected KeyStroke upKey;    /**     * As of Java 2 platform v1.3 this previously undocumented field is no     * longer used.     * Key bindings are now defined by the LookAndFeel, please refer to     * the key bindings specification for further details.     *     * @deprecated As of Java 2 platform v1.3.     */    @Deprecated    protected KeyStroke downKey;    /**     * As of Java 2 platform v1.3 this previously undocumented field is no     * longer used.     * Key bindings are now defined by the LookAndFeel, please refer to     * the key bindings specification for further details.     *     * @deprecated As of Java 2 platform v1.3.     */    @Deprecated    protected KeyStroke leftKey;    /**     * As of Java 2 platform v1.3 this previously undocumented field is no     * longer used.     * Key bindings are now defined by the LookAndFeel, please refer to     * the key bindings specification for further details.     *     * @deprecated As of Java 2 platform v1.3.     */    @Deprecated    protected KeyStroke rightKey;// Transient variables (recalculated each time TabbedPane is layed out)    protected int tabRuns[] = new int[10];    protected int runCount = 0;    protected int selectedRun = -1;    protected Rectangle rects[] = new Rectangle[0];     protected int maxTabHeight;    protected int maxTabWidth;// Listeners    protected ChangeListener tabChangeListener;    protected PropertyChangeListener propertyChangeListener;    protected MouseListener mouseListener;    protected FocusListener focusListener;// Private instance data    private Insets currentPadInsets = new Insets(0,0,0,0);    private Insets currentTabAreaInsets = new Insets(0,0,0,0);    private Component visibleComponent;    // PENDING(api): See comment for ContainerHandler    private Vector htmlViews;    private Hashtable mnemonicToIndexMap;    /**     * InputMap used for mnemonics. Only non-null if the JTabbedPane has     * mnemonics associated with it. Lazily created in initMnemonics.     */    private InputMap mnemonicInputMap;    // For use when tabLayoutPolicy = SCROLL_TAB_LAYOUT    private ScrollableTabSupport tabScroller;    private TabContainer tabContainer;        /**     * A rectangle used for general layout calculations in order     * to avoid constructing many new Rectangles on the fly.     */    protected transient Rectangle calcRect = new Rectangle(0,0,0,0);    /**     * Tab that has focus.     */    private int focusIndex;    /**     * Combined listeners.     */    private Handler handler;    /**     * Index of the tab the mouse is over.     */    private int rolloverTabIndex;    /**     * This is set to true when a component is added/removed from the tab     * pane and set to false when layout happens.  If true it indicates that     * tabRuns is not valid and shouldn't be used.     */    private boolean isRunsDirty;    private boolean calculatedBaseline;    private int baseline;// UI creation    public static ComponentUI createUI(JComponent c) {        return new BasicTabbedPaneUI();    }    static void loadActionMap(LazyActionMap map) {        map.put(new Actions(Actions.NEXT));        map.put(new Actions(Actions.PREVIOUS));        map.put(new Actions(Actions.RIGHT));        map.put(new Actions(Actions.LEFT));        map.put(new Actions(Actions.UP));        map.put(new Actions(Actions.DOWN));        map.put(new Actions(Actions.PAGE_UP));        map.put(new Actions(Actions.PAGE_DOWN));        map.put(new Actions(Actions.REQUEST_FOCUS));        map.put(new Actions(Actions.REQUEST_FOCUS_FOR_VISIBLE));        map.put(new Actions(Actions.SET_SELECTED));        map.put(new Actions(Actions.SELECT_FOCUSED));        map.put(new Actions(Actions.SCROLL_FORWARD));        map.put(new Actions(Actions.SCROLL_BACKWARD));    }// UI Installation/De-installation        public void installUI(JComponent c) {        this.tabPane = (JTabbedPane)c;        calculatedBaseline = false;        rolloverTabIndex = -1;        focusIndex = -1;        c.setLayout(createLayoutManager());        installComponents();        installDefaults();         installListeners();        installKeyboardActions();    }    public void uninstallUI(JComponent c) {        uninstallKeyboardActions();        uninstallListeners();        uninstallDefaults();        uninstallComponents();        c.setLayout(null);         this.tabPane = null;    }    /**     * Invoked by <code>installUI</code> to create     * a layout manager object to manage     * the <code>JTabbedPane</code>.     *     * @return a layout manager object     *     * @see TabbedPaneLayout     * @see javax.swing.JTabbedPane#getTabLayoutPolicy     */    protected LayoutManager createLayoutManager() {        if (tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT) {            return new TabbedPaneScrollLayout();        } else { /* WRAP_TAB_LAYOUT */            return new TabbedPaneLayout();        }    }    /* In an attempt to preserve backward compatibility for programs     * which have extended BasicTabbedPaneUI to do their own layout, the     * UI uses the installed layoutManager (and not tabLayoutPolicy) to     * determine if scrollTabLayout is enabled.     */    private boolean scrollableTabLayoutEnabled() {        return (tabPane.getLayout() instanceof TabbedPaneScrollLayout);    }    /**     * Creates and installs any required subcomponents for the JTabbedPane.     * Invoked by installUI.     *     * @since 1.4     */    protected void installComponents() {        if (scrollableTabLayoutEnabled()) {            if (tabScroller == null) {                tabScroller = new ScrollableTabSupport(tabPane.getTabPlacement());                tabPane.add(tabScroller.viewport);            }        }        installTabContainer();    }        private void installTabContainer() {         for (int i = 0; i < tabPane.getTabCount(); i++) {             Component tabComponent = tabPane.getTabComponentAt(i);             if (tabComponent != null) {                 if(tabContainer == null) {                     tabContainer = new TabContainer();                 }                 tabContainer.add(tabComponent);             }         }         if(tabContainer == null) {             return;         }         if (scrollableTabLayoutEnabled()) {             tabScroller.tabPanel.add(tabContainer);         } else {             tabPane.add(tabContainer);         }    }    /**     * Creates and returns a JButton that will provide the user     * with a way to scroll the tabs in a particular direction. The     * returned JButton must be instance of UIResource.     *     * @param direction One of the SwingConstants constants:     * SOUTH, NORTH, EAST or WEST     * @return Widget for user to      * @see javax.swing.JTabbedPane#setTabPlacement     * @see javax.swing.SwingConstants     * @throws IllegalArgumentException if direction is not one of     *         NORTH, SOUTH, EAST or WEST     * @since 1.5     */    protected JButton createScrollButton(int direction) {        if (direction != SOUTH && direction != NORTH && direction != EAST &&                                  direction != WEST) {            throw new IllegalArgumentException("Direction must be one of: " +                                               "SOUTH, NORTH, EAST or WEST");        }        return new ScrollableTabButton(direction);    }    /**     * Removes any installed subcomponents from the JTabbedPane.     * Invoked by uninstallUI.     *     * @since 1.4     */    protected void uninstallComponents() {        uninstallTabContainer();        if (scrollableTabLayoutEnabled()) {            tabPane.remove(tabScroller.viewport);            tabPane.remove(tabScroller.scrollForwardButton);            tabPane.remove(tabScroller.scrollBackwardButton);            tabScroller = null;        }    }        private void uninstallTabContainer() {         if(tabContainer == null) {             return;         }         // Remove all the tabComponents, making sure not to notify         // the tabbedpane.         tabContainer.notifyTabbedPane = false;         tabContainer.removeAll();         if(scrollableTabLayoutEnabled()) {             tabContainer.remove(tabScroller.croppedEdge);             tabScroller.tabPanel.remove(tabContainer);         } else {           tabPane.remove(tabContainer);           }         tabContainer = null;    }    protected void installDefaults() {        LookAndFeel.installColorsAndFont(tabPane, "TabbedPane.background",                                    "TabbedPane.foreground", "TabbedPane.font");             highlight = UIManager.getColor("TabbedPane.light");        lightHighlight = UIManager.getColor("TabbedPane.highlight");        shadow = UIManager.getColor("TabbedPane.shadow");        darkShadow = UIManager.getColor("TabbedPane.darkShadow");        focus = UIManager.getColor("TabbedPane.focus");        selectedColor = UIManager.getColor("TabbedPane.selected");        textIconGap = UIManager.getInt("TabbedPane.textIconGap");        tabInsets = UIManager.getInsets("TabbedPane.tabInsets");        selectedTabPadInsets = UIManager.getInsets("TabbedPane.selectedTabPadInsets");        tabAreaInsets = UIManager.getInsets("TabbedPane.tabAreaInsets");        tabsOverlapBorder = UIManager.getBoolean("TabbedPane.tabsOverlapBorder");        contentBorderInsets = UIManager.getInsets("TabbedPane.contentBorderInsets");        tabRunOverlay = UIManager.getInt("TabbedPane.tabRunOverlay");        tabsOpaque = UIManager.getBoolean("TabbedPane.tabsOpaque");        contentOpaque = UIManager.getBoolean("TabbedPane.contentOpaque");        Object opaque = UIManager.get("TabbedPane.opaque");        if (opaque == null) {            opaque = Boolean.FALSE;        }        LookAndFeel.installProperty(tabPane, "opaque", opaque);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲综合色成人| 欧美专区在线观看一区| 国产麻豆精品一区二区| eeuss鲁一区二区三区| 高清beeg欧美| 欧美在线你懂的| 日韩视频不卡中文| 国产精品区一区二区三| 午夜精品久久久久久久99水蜜桃 | 色嗨嗨av一区二区三区| 欧美日韩国产综合久久| 中文文精品字幕一区二区| 亚洲猫色日本管| 黑人巨大精品欧美一区| 91老师片黄在线观看| 精品999在线播放| 香港成人在线视频| 97精品电影院| 国产精品视频在线看| 同产精品九九九| 在线观看日韩一区| 亚洲三级久久久| 国产福利不卡视频| 精品免费国产二区三区| 亚洲高清不卡在线| 欧美日韩在线一区二区| 亚洲色图.com| 91成人在线精品| 亚洲精品免费一二三区| 91在线看国产| 综合精品久久久| 91热门视频在线观看| 亚洲欧美日韩国产综合| 色狠狠桃花综合| 亚洲观看高清完整版在线观看| 成人小视频在线| 亚洲欧美偷拍卡通变态| 日本高清不卡一区| 亚洲高清一区二区三区| 欧美电影一区二区| 奇米色一区二区| 欧美精品一区二区久久婷婷 | 久久久久久免费网| 奇米亚洲午夜久久精品| 精品欧美乱码久久久久久| 狠狠久久亚洲欧美| 亚洲美腿欧美偷拍| 欧美一级二级三级蜜桃| 成人免费视频免费观看| 一区二区三区在线观看欧美| 日韩一区二区精品葵司在线| 极品尤物av久久免费看| 亚洲一区在线看| 久久久精品天堂| 欧美男人的天堂一二区| 丰满少妇久久久久久久| 日本亚洲三级在线| 亚洲色欲色欲www| 久久久高清一区二区三区| 精品视频免费在线| 91麻豆免费看| 成人免费观看男女羞羞视频| 青椒成人免费视频| 亚洲一区二区在线视频| 国产女人18水真多18精品一级做| 欧美日韩小视频| 91国偷自产一区二区开放时间| 国产精品自拍三区| 国产一区二区三区在线看麻豆| 亚洲欧美成人一区二区三区| 色天使久久综合网天天| 国产成人亚洲综合色影视| 日韩影院精彩在线| 亚洲欧洲日韩女同| 欧美激情一区二区三区四区 | 国产偷v国产偷v亚洲高清| 成人a免费在线看| 国产麻豆成人精品| 捆绑紧缚一区二区三区视频 | 不卡一区二区中文字幕| 韩日欧美一区二区三区| 日韩成人免费看| 亚洲国产成人av| 香蕉加勒比综合久久| 亚洲男人电影天堂| 国产精品国产a| 亚洲欧洲国产专区| 欧美国产精品中文字幕| 精品精品国产高清a毛片牛牛| 欧美男人的天堂一二区| 91福利精品视频| 欧美吻胸吃奶大尺度电影| 色婷婷精品大在线视频| 欧美午夜寂寞影院| 在线免费观看日本一区| 日韩欧美一区二区免费| 欧美tickling挠脚心丨vk| 精品久久久久久最新网址| 精品久久久久99| 亚洲国产精品av| 亚洲精品国产一区二区精华液| 亚洲大片在线观看| 美美哒免费高清在线观看视频一区二区 | 久久99热国产| 国内外成人在线| 成人av网在线| 欧美午夜精品一区二区蜜桃| 欧美日韩中文字幕一区| 欧美日韩亚洲综合在线| 久久精品一二三| 亚洲精品免费在线| 视频一区二区不卡| 福利一区福利二区| 欧美日韩综合在线| 欧美一区二区三区免费| 欧美国产综合色视频| 亚洲一区二区精品视频| 国产激情一区二区三区四区| 在线视频国产一区| 久久久精品国产99久久精品芒果| 中文字幕免费在线观看视频一区| 偷拍亚洲欧洲综合| 91丨国产丨九色丨pron| www日韩大片| 蜜臀精品久久久久久蜜臀| 91色porny| 26uuu精品一区二区在线观看| 亚洲成人在线免费| aaa欧美色吧激情视频| 久久久国产午夜精品| 日韩精品国产精品| 欧美在线观看视频一区二区| 国产色产综合色产在线视频| 免费一级片91| 欧美一级高清大全免费观看| 成人欧美一区二区三区1314| 国产99精品在线观看| 久久亚洲免费视频| 国产大片一区二区| 日韩一区二区免费在线观看| 亚洲美腿欧美偷拍| 色狠狠一区二区三区香蕉| 精品不卡在线视频| 毛片av中文字幕一区二区| 91精品国产乱码久久蜜臀| 青青青伊人色综合久久| 欧美色综合网站| 免费黄网站欧美| 精品国产电影一区二区| 国产一区二区视频在线| 国产精品视频在线看| 91福利在线观看| 国产成a人亚洲精| 欧美国产精品久久| 成人高清伦理免费影院在线观看| 日本一区二区视频在线观看| 99久久夜色精品国产网站| 久久精品亚洲国产奇米99| 色琪琪一区二区三区亚洲区| 日本亚洲视频在线| 精品久久久久久综合日本欧美| 成人禁用看黄a在线| 日韩精品一区第一页| 欧美理论片在线| 色老汉一区二区三区| 激情综合一区二区三区| 亚洲最色的网站| 国产欧美一区二区三区在线看蜜臀 | 成人免费的视频| 亚洲va欧美va国产va天堂影院| 26uuu精品一区二区三区四区在线| 色综合久久中文字幕综合网 | av在线一区二区三区| 日韩国产一二三区| 亚洲自拍偷拍图区| 亚洲一区二区美女| 中文字幕制服丝袜成人av| 欧美精品一区二区三区在线| 91精品久久久久久久99蜜桃| 日本二三区不卡| 色综合天天综合色综合av| 国产黄色91视频| 精品一区二区三区免费视频| 日韩av中文在线观看| 日韩av电影天堂| 又紧又大又爽精品一区二区| 亚洲午夜电影网| 日本不卡一区二区三区高清视频| 亚洲一区二区3| 日本中文字幕一区二区视频 | 日韩不卡免费视频| 婷婷中文字幕一区三区| 青青草国产精品亚洲专区无| 亚洲人成在线观看一区二区| 亚洲国产一区二区在线播放| 亚洲第一主播视频| 青青草国产成人av片免费| 久久国产视频网| 盗摄精品av一区二区三区| 欧美在线色视频|