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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 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);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久久vr| 精品国产不卡一区二区三区| 国产成a人亚洲| 岛国精品在线观看| 丁香激情综合国产| 在线观看不卡一区| 91精品欧美久久久久久动漫| 久久久久久日产精品| 国产午夜精品一区二区| 中文一区二区在线观看| 国产精品美女久久久久aⅴ| 一区二区三区四区不卡视频| 视频在线观看一区| 精品一区二区三区免费视频| 99精品在线免费| 日韩一区和二区| 亚洲色图19p| 国产乱妇无码大片在线观看| 91看片淫黄大片一级在线观看| 色综合久久久网| 日韩女优毛片在线| 亚洲欧美成aⅴ人在线观看| 另类人妖一区二区av| 99视频在线观看一区三区| 欧美色国产精品| 韩国三级电影一区二区| 亚洲精品免费看| 国产最新精品免费| 精品视频一区 二区 三区| 亚洲视频免费观看| 欧美电影免费提供在线观看| 亚洲色图丝袜美腿| 成人av电影在线| 欧美国产日本视频| 狠狠色狠狠色综合系列| 欧美精品丝袜中出| 亚洲一区日韩精品中文字幕| heyzo一本久久综合| 国产精品美女视频| 波多野结衣中文字幕一区| 久久久亚洲国产美女国产盗摄| 亚洲国产精品久久久久秋霞影院| 91视频观看视频| 亚洲午夜久久久久久久久电影院| 在线观看日产精品| 毛片一区二区三区| 亚洲欧美韩国综合色| 欧美高清视频www夜色资源网| 丝瓜av网站精品一区二区 | 日韩欧美一级在线播放| 精品一区二区三区免费观看| 亚洲精品国产一区二区精华液 | 国产精品第四页| 99久久久精品免费观看国产蜜| 国产精品国产自产拍在线| 欧美日韩一区二区三区在线| 久久精品国产**网站演员| 久久久久久久久久久99999| 在线观看日韩电影| 国产一区不卡在线| 亚洲乱码一区二区三区在线观看| 欧美一区二区二区| 97se狠狠狠综合亚洲狠狠| 欧美bbbbb| 亚洲精品国产视频| 国产欧美精品一区aⅴ影院| 91网站最新地址| 美女诱惑一区二区| 欧美精品一区二区精品网| 国产成人亚洲精品狼色在线| 中文字幕五月欧美| 欧美少妇一区二区| 国产精品美女久久久久久 | 自拍偷自拍亚洲精品播放| 日韩欧美三级在线| 欧美浪妇xxxx高跟鞋交| 高清av一区二区| 不卡的av电影在线观看| 成人毛片视频在线观看| 极品少妇xxxx偷拍精品少妇| 日韩成人伦理电影在线观看| 亚洲成人你懂的| 日韩精品乱码av一区二区| 一区二区三区在线播放| 亚洲欧美色综合| 《视频一区视频二区| 久久九九国产精品| 国产精品短视频| 五月婷婷久久综合| 麻豆成人91精品二区三区| 国产一区二区看久久| 狠狠色丁香婷婷综合久久片| 久久狠狠亚洲综合| 国产乱码字幕精品高清av| 成人永久aaa| 欧美自拍丝袜亚洲| 日韩网站在线看片你懂的| 国产日韩欧美一区二区三区综合| 国产精品久久久久一区二区三区 | 色综合久久久久久久| 91成人免费在线视频| 欧美一区二区三区视频| 亚洲视频网在线直播| 日本成人在线网站| 色欧美日韩亚洲| 国产亚洲综合av| 视频在线观看一区| 91九色最新地址| 日韩欧美国产三级电影视频| 综合精品久久久| 裸体在线国模精品偷拍| 久久99精品久久久久| 成人国产精品免费| 欧美老女人第四色| 亚洲高清免费在线| 日本乱人伦一区| 一区二区三区四区在线免费观看| 国产成人自拍网| 欧美xxxxx牲另类人与| 日本aⅴ亚洲精品中文乱码| 色综合视频一区二区三区高清| 欧美激情在线观看视频免费| 精品一区二区三区在线视频| 欧美人成免费网站| 午夜久久久影院| 欧美伦理视频网站| 亚洲一级二级三级| 欧美性大战久久久久久久| 国产精品家庭影院| 激情欧美一区二区| 中文字幕第一区综合| 精品一区二区三区欧美| 欧美一级黄色大片| 国产精品77777| 国产三级一区二区| 国产v综合v亚洲欧| 精品久久久久久最新网址| 美国毛片一区二区三区| 337p粉嫩大胆噜噜噜噜噜91av| 日本欧美久久久久免费播放网| 久久影院视频免费| 成人app网站| 日日夜夜精品视频天天综合网| 久久嫩草精品久久久精品一| 精品一区二区av| 国产精品婷婷午夜在线观看| 欧美精选在线播放| 麻豆精品蜜桃视频网站| 国产亚洲1区2区3区| 欧美日韩在线一区二区| 毛片av一区二区| 国产精品护士白丝一区av| 日韩女同互慰一区二区| 色综合久久六月婷婷中文字幕| 亚洲国产精品久久久久秋霞影院 | 久久新电视剧免费观看| 欧美人妖巨大在线| 国产成人精品aa毛片| 五月天久久比比资源色| 久久久久久电影| 欧美在线看片a免费观看| 久久成人麻豆午夜电影| 亚洲夂夂婷婷色拍ww47| 亚洲精品在线观| 欧美一级xxx| 久久这里只精品最新地址| 成人av电影在线网| 国产一区在线观看麻豆| 久久91精品久久久久久秒播| 成人免费小视频| 欧美国产精品一区二区三区| 日韩视频一区二区三区| 欧美午夜片在线看| 91丨国产丨九色丨pron| 国产盗摄视频一区二区三区| 国产一区二区女| 国产传媒欧美日韩成人| 91啪在线观看| 色哟哟一区二区| 欧美日韩一级视频| 欧美主播一区二区三区| 欧美久久久久久久久| 久久久久九九视频| 亚洲欧美日韩中文播放| 亚洲精选视频免费看| 日本成人在线一区| 成人高清免费在线播放| gogogo免费视频观看亚洲一| 欧美高清视频不卡网| 欧美成人一区二区三区在线观看| 欧美大度的电影原声| 亚洲男同1069视频| 亚洲国产精品影院| 日韩av电影天堂| 99久久精品久久久久久清纯| 欧美三电影在线| 欧美午夜精品久久久久久超碰| 久久久99精品久久| 亚洲同性gay激情无套| 精品在线观看视频|