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

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

?? basicsplitpanedivider.java

?? JAVA的一些源碼 JAVA2 STANDARD EDITION DEVELOPMENT KIT 5.0
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* * @(#)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
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久久久综合体桃花网| 午夜在线成人av| 久久疯狂做爰流白浆xx| 欧美三级韩国三级日本三斤| √…a在线天堂一区| av电影在线观看不卡| 久久久久久99精品| 黑人巨大精品欧美黑白配亚洲| 日韩欧美一级片| 午夜视频在线观看一区二区| 日本精品一级二级| 亚洲影视资源网| 欧美婷婷六月丁香综合色| 亚洲免费电影在线| 在线看国产一区| 亚洲午夜激情网站| 在线播放中文一区| 日韩激情在线观看| 日韩精品专区在线影院重磅| 男人操女人的视频在线观看欧美| 日韩你懂的在线播放| 国产一区视频导航| 国产亚洲美州欧州综合国| 黑人巨大精品欧美一区| 国产精品天美传媒沈樵| 精品一区二区三区久久久| 久久久亚洲午夜电影| 成人av网站在线| 亚洲人成在线播放网站岛国| 成人高清视频在线| 亚洲一线二线三线视频| 欧美夫妻性生活| 国产精品一二三四| 亚洲精品久久嫩草网站秘色| 欧美精品丝袜中出| 激情六月婷婷综合| 最近日韩中文字幕| 在线成人av网站| 国产在线不卡视频| 亚洲女同一区二区| 91麻豆精品国产| 成人午夜又粗又硬又大| 一区二区三区四区高清精品免费观看| 555www色欧美视频| 国产精品一区二区果冻传媒| 亚洲黄网站在线观看| 欧美日韩国产高清一区| 国产成人av电影在线| 亚洲国产日韩av| 久久综合狠狠综合久久激情| 国产黄人亚洲片| 午夜精品爽啪视频| 国产亚洲成av人在线观看导航| 欧美在线观看视频在线| 国产精品一二三区在线| 亚洲高清免费观看高清完整版在线观看 | 欧美一区二区大片| 国产精品12区| 性做久久久久久免费观看欧美| 久久女同性恋中文字幕| 91蜜桃视频在线| 精品一区二区三区的国产在线播放 | 成人99免费视频| 亚洲午夜久久久久久久久电影院 | 欧美精品久久天天躁| 成人一区二区三区视频在线观看| 天堂资源在线中文精品| 国产精品蜜臀av| 日韩一区二区麻豆国产| 欧美精品v国产精品v日韩精品| 色欧美片视频在线观看在线视频| 国产大片一区二区| 国产成人在线视频网站| 国产精品 日产精品 欧美精品| 国产又黄又大久久| 国产精品原创巨作av| 国产一区二区导航在线播放| 韩国理伦片一区二区三区在线播放| 日韩精品一二三四| 日韩av中文在线观看| 日本大胆欧美人术艺术动态 | 亚洲精品菠萝久久久久久久| 国产欧美精品一区二区三区四区| 99国产欧美久久久精品| 国产传媒久久文化传媒| 国产精品一区一区三区| 国产精品18久久久久久久网站| 免费观看在线综合色| 麻豆传媒一区二区三区| 久久精品国产免费| 国产大片一区二区| 99久久伊人网影院| 在线观看日产精品| 91久久精品一区二区| 欧美三级在线看| 日韩一区二区三区免费观看| 26uuu色噜噜精品一区二区| 国产日韩欧美不卡在线| 亚洲视频在线一区| 天天影视网天天综合色在线播放| 蜜桃精品视频在线| 国产91丝袜在线观看| 99在线精品观看| 欧美亚洲免费在线一区| 日韩午夜在线观看视频| 久久人人爽爽爽人久久久| 国产精品视频看| 亚洲成av人片在www色猫咪| 九九久久精品视频| 99精品国产热久久91蜜凸| 欧美三级三级三级爽爽爽| 精品国产三级a在线观看| 中文字幕一区二区三区精华液| 亚洲午夜一区二区| 国产精品一区二区在线观看网站| 91丝袜美腿高跟国产极品老师| 在线成人av网站| 中文字幕一区二区在线播放| 天天av天天翘天天综合网| 高清不卡在线观看av| 欧美日韩亚洲综合在线| 国产亚洲欧美在线| 亚洲一区二区在线观看视频 | 日韩国产在线一| 国产成人亚洲综合a∨婷婷| 欧美最猛性xxxxx直播| 国产亚洲精久久久久久| 亚洲高清免费观看高清完整版在线观看| 精品一区二区三区免费视频| 亚洲精品一区在线观看| 韩国一区二区三区| 色88888久久久久久影院按摩 | av综合在线播放| 欧美一区二区视频在线观看2022| 中文字幕在线观看不卡| 秋霞国产午夜精品免费视频| 99久久精品国产一区| 久久亚洲一级片| 天天操天天色综合| 93久久精品日日躁夜夜躁欧美| 欧美一区二区三区的| 亚洲一区二区美女| 成人黄色电影在线| 欧美va亚洲va| 天堂一区二区在线免费观看| 北岛玲一区二区三区四区| 久久综合视频网| a亚洲天堂av| 精品1区2区在线观看| 亚瑟在线精品视频| 91麻豆国产自产在线观看| 久久久久久久久久久久电影| 日韩国产高清在线| 欧美四级电影在线观看| 久久色在线视频| 亚洲电影一区二区| 91蜜桃婷婷狠狠久久综合9色| 中文字幕欧美国产| 国产一区二区调教| 2023国产精华国产精品| 老色鬼精品视频在线观看播放| 91精品中文字幕一区二区三区| 亚洲综合在线电影| 91福利在线播放| 亚洲精品欧美专区| 色欧美片视频在线观看| 亚洲美女视频在线观看| 一本色道a无线码一区v| 亚洲欧洲另类国产综合| 成人18视频在线播放| 国产精品伦理一区二区| www.欧美日韩| 中文字幕一区二区三区四区| 成人黄色免费短视频| 最新国产精品久久精品| 99国产精品国产精品毛片| 亚洲欧美一区二区视频| 91农村精品一区二区在线| 亚洲欧美另类在线| 在线精品视频免费播放| 亚洲不卡一区二区三区| 7777精品伊人久久久大香线蕉经典版下载| 午夜精品一区二区三区三上悠亚| 欧美久久久影院| 激情图区综合网| 国产人成亚洲第一网站在线播放| 成人在线视频一区二区| 亚洲天堂成人网| 欧美精品在线观看播放| 精品制服美女久久| 国产蜜臀97一区二区三区| 色综合久久综合| 日韩二区三区在线观看| 亚洲精品一区在线观看| av资源站一区| 视频一区欧美精品| 国产欧美一区二区三区在线看蜜臀| voyeur盗摄精品| 午夜久久电影网| 国产欧美一区二区三区在线看蜜臀|