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

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

?? basicsplitpanedivider.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
/* * @(#)BasicSplitPaneDivider.java	1.52 03/12/19 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */package javax.swing.plaf.basic;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import javax.swing.plaf.*;import javax.swing.border.Border;import java.beans.*;import sun.swing.DefaultLookup;/** * Divider used by BasicSplitPaneUI. Subclassers may wish to override * paint to do something more interesting. * The border effect is drawn in BasicSplitPaneUI, so if you don't like * that border, reset it there. * To conditionally drag from certain areas subclass mousePressed and * call super when you wish the dragging to begin. * <p> * <strong>Warning:</strong> * Serialized objects of this class will not be compatible with * future Swing releases. The current serialization support is * appropriate for short term storage or RMI between applications running * the same version of Swing.  As of 1.4, support for long term storage * of all JavaBeans<sup><font size="-2">TM</font></sup> * has been added to the <code>java.beans</code> package. * Please see {@link java.beans.XMLEncoder}. * * @version 1.52 12/19/03 * @author Scott Violet */public class BasicSplitPaneDivider extends Container    implements PropertyChangeListener{    /**     * Width or height of the divider based on orientation     * BasicSplitPaneUI adds two to this.     */    protected static final int ONE_TOUCH_SIZE = 6;    protected static final int ONE_TOUCH_OFFSET = 2;    /**     * Handles mouse dragging message to do the actual dragging.     */    protected DragController dragger;    /**     * UI this instance was created from.     */    protected BasicSplitPaneUI splitPaneUI;    /**     * Size of the divider.     */    protected int dividerSize = 0; // default - SET TO 0???    /**     * Divider that is used for noncontinuous layout mode.     */    protected Component hiddenDivider;    /**     * JSplitPane the receiver is contained in.     */    protected JSplitPane splitPane;    /**     * Handles mouse events from both this class, and the split pane.     * Mouse events are handled for the splitpane since you want to be able     * to drag when clicking on the border of the divider, which is not      * drawn by the divider.     */    protected MouseHandler mouseHandler;    /**     * Orientation of the JSplitPane.     */    protected int orientation;    /**     * Button for quickly toggling the left component.     */    protected JButton leftButton;    /**     * Button for quickly toggling the right component.     */    protected JButton rightButton;    /** Border. */    private Border border;    /**     * Is the mouse over the divider?     */    private boolean mouseOver;    private int oneTouchSize;    private int oneTouchOffset;    /**     * If true the one touch buttons are centered on the divider.     */    private boolean centerOneTouchButtons;    /**     * Creates an instance of BasicSplitPaneDivider. Registers this     * instance for mouse events and mouse dragged events.     */    public BasicSplitPaneDivider(BasicSplitPaneUI ui) {        oneTouchSize = DefaultLookup.getInt(ui.getSplitPane(), ui,                "SplitPane.oneTouchButtonSize", ONE_TOUCH_SIZE);        oneTouchOffset = DefaultLookup.getInt(ui.getSplitPane(), ui,                "SplitPane.oneTouchButtonOffset", ONE_TOUCH_OFFSET);        centerOneTouchButtons = DefaultLookup.getBoolean(ui.getSplitPane(),                 ui, "SplitPane.centerOneTouchButtons", true);        setLayout(new DividerLayout());        setBasicSplitPaneUI(ui);        orientation = splitPane.getOrientation();        setCursor((orientation == JSplitPane.HORIZONTAL_SPLIT) ?                  Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR) :                  Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR));        setBackground(UIManager.getColor("SplitPane.background"));    }    private void revalidate() {        invalidate();        if (splitPane != null) {            splitPane.revalidate();        }    }    /**     * Sets the SplitPaneUI that is using the receiver.     */    public void setBasicSplitPaneUI(BasicSplitPaneUI newUI) {        if (splitPane != null) {            splitPane.removePropertyChangeListener(this);           if (mouseHandler != null) {               splitPane.removeMouseListener(mouseHandler);               splitPane.removeMouseMotionListener(mouseHandler);	       removeMouseListener(mouseHandler);	       removeMouseMotionListener(mouseHandler);               mouseHandler = null;           }        }        splitPaneUI = newUI;        if (newUI != null) {            splitPane = newUI.getSplitPane();            if (splitPane != null) {                if (mouseHandler == null) mouseHandler = new MouseHandler();                splitPane.addMouseListener(mouseHandler);                splitPane.addMouseMotionListener(mouseHandler);		addMouseListener(mouseHandler);		addMouseMotionListener(mouseHandler);                splitPane.addPropertyChangeListener(this);                if (splitPane.isOneTouchExpandable()) {                    oneTouchExpandableChanged();                }            }        }        else {            splitPane = null;        }    }    /**     * Returns the <code>SplitPaneUI</code> the receiver is currently     * in.     */    public BasicSplitPaneUI getBasicSplitPaneUI() {        return splitPaneUI;    }    /**     * Sets the size of the divider to <code>newSize</code>. That is     * the width if the splitpane is <code>HORIZONTAL_SPLIT</code>, or     * the height of <code>VERTICAL_SPLIT</code>.     */    public void setDividerSize(int newSize) {        dividerSize = newSize;    }    /**     * Returns the size of the divider, that is the width if the splitpane     * is HORIZONTAL_SPLIT, or the height of VERTICAL_SPLIT.     */    public int getDividerSize() {        return dividerSize;    }    /**     * Sets the border of this component.     * @since 1.3     */    public void setBorder(Border border) {        Border         oldBorder = this.border;        this.border = border;    }    /**     * Returns the border of this component or null if no border is     * currently set.     *     * @return the border object for this component     * @see #setBorder     * @since 1.3     */    public Border getBorder() {        return border;    }    /**     * If a border has been set on this component, returns the     * border's insets, else calls super.getInsets.     *     * @return the value of the insets property.     * @see #setBorder     */    public Insets getInsets() {	Border    border = getBorder();        if (border != null) {            return border.getBorderInsets(this);        }    	return super.getInsets();    }    /**     * Sets whether or not the mouse is currently over the divider.     *     * @param mouseOver whether or not the mouse is currently over the divider     * @since 1.5     */    protected void setMouseOver(boolean mouseOver) {        this.mouseOver = mouseOver;    }    /**     * Returns whether or not the mouse is currently over the divider     *     * @param Returns whether or not the mouse is currently over the divider     */    public boolean isMouseOver() {        return mouseOver;    }    /**     * Returns dividerSize x dividerSize     */    public Dimension getPreferredSize() {        // Ideally this would return the size from the layout manager,        // but that could result in the layed out size being different from        // the dividerSize, which may break developers as well as        // BasicSplitPaneUI.        if (orientation == JSplitPane.HORIZONTAL_SPLIT) {            return new Dimension(getDividerSize(), 1);        }        return new Dimension(1, getDividerSize());    }    /**     * Returns dividerSize x dividerSize     */    public Dimension getMinimumSize() {        return getPreferredSize();    }    /**     * Property change event, presumably from the JSplitPane, will message     * updateOrientation if necessary.     */    public void propertyChange(PropertyChangeEvent e) {        if (e.getSource() == splitPane) {            if (e.getPropertyName() == JSplitPane.ORIENTATION_PROPERTY) {                orientation = splitPane.getOrientation();                setCursor((orientation == JSplitPane.HORIZONTAL_SPLIT) ?                          Cursor.getPredefinedCursor(Cursor.E_RESIZE_CURSOR) :                          Cursor.getPredefinedCursor(Cursor.S_RESIZE_CURSOR));                revalidate();            }            else if (e.getPropertyName() == JSplitPane.                      ONE_TOUCH_EXPANDABLE_PROPERTY) {                oneTouchExpandableChanged();            }        }    }    /**     * Paints the divider.     */    public void paint(Graphics g) {      super.paint(g);      // Paint the border.      Border   border = getBorder();      if (border != null) {	  Dimension     size = getSize();	  border.paintBorder(this, g, 0, 0, size.width, size.height);      }    }    /**     * Messaged when the oneTouchExpandable value of the JSplitPane the     * receiver is contained in changes. Will create the     * <code>leftButton</code> and <code>rightButton</code> if they     * are null. invalidates the receiver as well.     */    protected void oneTouchExpandableChanged() {        if (!DefaultLookup.getBoolean(splitPane, splitPaneUI,                           "SplitPane.supportsOneTouchButtons", true)) {            // Look and feel doesn't want to support one touch buttons, bail.            return;        }        if (splitPane.isOneTouchExpandable() &&            leftButton == null &&            rightButton == null) {            /* Create the left button and add an action listener to               expand/collapse it. */            leftButton = createLeftOneTouchButton();            if (leftButton != null)                leftButton.addActionListener(new OneTouchActionHandler(true));            /* Create the right button and add an action listener to               expand/collapse it. */            rightButton = createRightOneTouchButton();            if (rightButton != null)                rightButton.addActionListener(new OneTouchActionHandler		    (false));            if (leftButton != null && rightButton != null) {                add(leftButton);                add(rightButton);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
26uuu成人网一区二区三区| 亚洲女人小视频在线观看| 婷婷综合另类小说色区| 国产欧美精品区一区二区三区| 亚洲色图在线播放| 国产女人18水真多18精品一级做| 欧美日韩精品一区二区| 国产高清在线观看免费不卡| 日韩中文字幕av电影| 亚洲精品中文在线观看| 欧美国产97人人爽人人喊| 26uuu国产一区二区三区| 中文天堂在线一区| 国产精品嫩草久久久久| 午夜一区二区三区在线观看| 亚洲另类色综合网站| 麻豆91精品91久久久的内涵| 日韩av一区二| 九九精品视频在线看| 亚洲第一激情av| 国产成人免费视频| 制服丝袜中文字幕亚洲| 91精品国产麻豆国产自产在线| 成人小视频免费观看| 久久精品国产成人一区二区三区 | 国产丝袜在线精品| 精品少妇一区二区三区免费观看| 国产精品1024| 5月丁香婷婷综合| 亚洲猫色日本管| 国产成人aaa| 91麻豆国产香蕉久久精品| 色综合久久天天| 色天天综合色天天久久| 中文字幕精品—区二区四季| 激情综合一区二区三区| 91精品国产综合久久久久久漫画| 日韩免费成人网| 亚洲精品一区二区三区香蕉| 精品国产免费一区二区三区香蕉| 久久久精品人体av艺术| 中文字幕一区二区三区乱码在线| 欧美一区二区三区免费在线看| 欧美一二三区在线| 国产日韩欧美制服另类| 激情文学综合插| 91天堂素人约啪| 国产精品全国免费观看高清| 国产一区二区福利视频| 日本高清无吗v一区| 日韩视频免费观看高清完整版| 国产欧美日本一区二区三区| 国产一区二区网址| 亚洲精品一线二线三线无人区| 综合久久国产九一剧情麻豆| 国产精品一区二区久激情瑜伽| 秋霞影院一区二区| 成人不卡免费av| 欧美视频一二三区| 国产亚洲综合色| 国产91精品在线观看| 国产精品全国免费观看高清| 成人一区二区三区在线观看| 国产欧美视频在线观看| 成人激情免费电影网址| 国产精品九色蝌蚪自拍| 久久99精品久久久久| 精品国产精品一区二区夜夜嗨| 亚洲精品视频在线观看免费| 欧美性大战久久久久久久| 视频一区免费在线观看| 日韩免费观看2025年上映的电影| 亚洲乱码国产乱码精品精98午夜 | 亚洲成人自拍一区| 欧美精品精品一区| 亚洲日本va午夜在线电影| 99在线精品视频| 久久九九影视网| 成人黄色小视频| 亚洲男女毛片无遮挡| 欧美久久一二区| 国产一区三区三区| 1024成人网| 欧美精选一区二区| 国产白丝网站精品污在线入口| 欧美大片在线观看| 国产suv精品一区二区6| 一区二区免费在线| 99久久综合国产精品| 亚洲成av人在线观看| 久久婷婷国产综合国色天香| 91网站在线播放| 另类中文字幕网| 亚洲特级片在线| 日韩欧美亚洲一区二区| eeuss国产一区二区三区| 日本午夜精品一区二区三区电影| 欧美丰满一区二区免费视频| 国产主播一区二区三区| 午夜精品影院在线观看| 国产精品无遮挡| 日韩精品最新网址| 色综合激情久久| 国产激情偷乱视频一区二区三区| 欧美韩日一区二区三区四区| 欧美一区二区在线免费观看| 91同城在线观看| 国产成人精品免费视频网站| 性久久久久久久久| 亚洲视频免费在线| 亚洲精品一区在线观看| 91精品欧美福利在线观看| 色综合一个色综合| 一区二区国产盗摄色噜噜| 26uuu亚洲婷婷狠狠天堂| 欧美日韩一区二区三区四区五区| 国产精品嫩草影院av蜜臀| 日韩精品最新网址| 在线观看网站黄不卡| 午夜在线成人av| 亚洲欧美一区二区不卡| 中文字幕巨乱亚洲| 久久久久久久久久久久久女国产乱 | 青青草精品视频| 亚洲午夜三级在线| 91麻豆精品国产自产在线| 91免费视频大全| 懂色中文一区二区在线播放| 极品销魂美女一区二区三区| 日本人妖一区二区| 日本强好片久久久久久aaa| 亚洲成va人在线观看| 亚洲国产另类精品专区| 伊人性伊人情综合网| 国产精品福利一区| 国产色婷婷亚洲99精品小说| 欧美精品一区二区三区视频| 日韩三区在线观看| 欧美一级片在线| 欧美一区二区三区爱爱| 欧美一区二区三区婷婷月色| 91精品国产入口| 欧美一级日韩不卡播放免费| 欧美一区二区三区四区五区 | 一区二区三区精密机械公司| 国产精品电影一区二区三区| 国产精品久久久久一区二区三区| 欧美丰满少妇xxxxx高潮对白| 国产91丝袜在线18| 99r国产精品| 精品系列免费在线观看| 久久精品国产亚洲一区二区三区| 一区视频在线播放| 亚洲综合一二三区| 国产精品免费免费| 亚洲欧洲日韩在线| 亚洲一区二区视频在线| 偷拍亚洲欧洲综合| 精品亚洲欧美一区| 成人avav在线| 欧美日韩一区高清| 精品国产污网站| 亚洲天天做日日做天天谢日日欢| 国产日韩欧美精品在线| 中国色在线观看另类| 亚洲综合色丁香婷婷六月图片| 国产日韩欧美亚洲| 一区二区三区波多野结衣在线观看| 久久午夜免费电影| 一区二区三区在线观看欧美| 亚洲午夜免费福利视频| 国产乱理伦片在线观看夜一区 | 伊人色综合久久天天| 日韩精品午夜视频| 国产91在线观看| 欧美人与禽zozo性伦| 国产午夜亚洲精品理论片色戒 | 国产精品久久久爽爽爽麻豆色哟哟| 日韩亚洲欧美综合| 欧美韩日一区二区三区四区| 亚洲国产一区视频| 国产精品99久久久久久有的能看 | 国产真实乱子伦精品视频| 成人99免费视频| 欧美日韩国产一级片| 国产亚洲精品aa午夜观看| 一区二区三区加勒比av| 国产乱妇无码大片在线观看| 欧美午夜精品久久久| 国产偷v国产偷v亚洲高清| 日日噜噜夜夜狠狠视频欧美人 | 激情综合一区二区三区| 一本大道久久a久久精二百| 日韩欧美电影一区| 亚洲精品久久久久久国产精华液| 一区二区三区日韩精品视频| 国产一区免费电影| 在线播放一区二区三区| **欧美大码日韩| 激情小说欧美图片|