Module java.desktop

Class BasicSplitPaneDivider

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.plaf.basic.BasicSplitPaneDivider
所有已实现的接口:
ImageObserver, MenuContainer, PropertyChangeListener, Serializable, EventListener

public class BasicSplitPaneDivider extends Container implements PropertyChangeListener
BasicSplitPaneUI使用的分隔符。子类可能希望重写paint方法以执行更有趣的操作。边框效果是在BasicSplitPaneUI中绘制的,因此如果您不喜欢该边框,请在那里重置它。要根据条件从某些区域拖动,请在子类的mousePressed方法中调用super以开始拖动。

警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间进行RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参阅XMLEncoder

  • Field Details

    • ONE_TOUCH_SIZE

      protected static final int ONE_TOUCH_SIZE
      基于方向的分隔符的宽度或高度BasicSplitPaneUI在此基础上增加了两个。
      参见:
    • ONE_TOUCH_OFFSET

      protected static final int ONE_TOUCH_OFFSET
      分隔符的偏移量。
      参见:
    • dragger

      处理鼠标拖动消息以执行实际拖动。
    • splitPaneUI

      protected BasicSplitPaneUI splitPaneUI
      创建此实例的UI。
    • dividerSize

      protected int dividerSize
      分隔符的大小。
    • hiddenDivider

      protected Component hiddenDivider
      用于非连续布局模式的分隔符。
    • splitPane

      protected JSplitPane splitPane
      包含接收器的JSplitPane。
    • mouseHandler

      protected BasicSplitPaneDivider.MouseHandler mouseHandler
      处理来自该类和分隔窗格的鼠标事件。处理分隔窗格的鼠标事件,因为您希望能够在单击分隔符的边框时拖动,而该边框不是由分隔符绘制的。
    • orientation

      protected int orientation
      JSplitPane的方向。
    • leftButton

      protected JButton leftButton
      用于快速切换左侧组件的按钮。
    • rightButton

      protected JButton rightButton
      用于快速切换右侧组件的按钮。
  • Constructor Details

    • BasicSplitPaneDivider

      public BasicSplitPaneDivider(BasicSplitPaneUI ui)
      创建BasicSplitPaneDivider的实例。注册此实例以接收鼠标事件和鼠标拖动事件。
      参数:
      ui - BasicSplitPaneUI的一个实例
  • Method Details

    • setBasicSplitPaneUI

      public void setBasicSplitPaneUI(BasicSplitPaneUI newUI)
      设置正在使用接收器的SplitPaneUI
      参数:
      newUI - 新的SplitPaneUI
    • getBasicSplitPaneUI

      public BasicSplitPaneUI getBasicSplitPaneUI()
      返回接收器当前所在的SplitPaneUI
      返回:
      接收器当前所在的SplitPaneUI
    • setDividerSize

      public void setDividerSize(int newSize)
      将分隔符的大小设置为newSize。即如果splitpane是HORIZONTAL_SPLIT,则为宽度,如果是VERTICAL_SPLIT,则为高度。分隔符大小newSize < 0将被忽略。
      参数:
      newSize - 一个新的大小
    • getDividerSize

      public int getDividerSize()
      返回分隔符的大小,即如果splitpane是HORIZONTAL_SPLIT,则为宽度,如果是VERTICAL_SPLIT,则为高度。
      返回:
      分隔符的大小
    • setBorder

      public void setBorder(Border border)
      设置此组件的边框。
      参数:
      border - 一个新的边框
      自1.3起
    • getBorder

      public Border getBorder()
      返回此组件的边框,如果当前未设置边框,则返回null。
      返回:
      此组件的边框对象
      自1.3起
      参见:
    • getInsets

      public Insets getInsets()
      如果在此组件上设置了边框,则返回边框的插图,否则调用super.getInsets。
      覆盖:
      getInsets 在类 Container
      返回:
      插图属性的值。
      参见:
    • setMouseOver

      protected void setMouseOver(boolean mouseOver)
      设置鼠标当前是否位于分隔符上。
      参数:
      mouseOver - 鼠标当前是否位于分隔符上
      自1.5起
    • isMouseOver

      public boolean isMouseOver()
      返回鼠标当前是否位于分隔符上。
      返回:
      鼠标当前是否位于分隔符上
      自1.5起
    • getPreferredSize

      public Dimension getPreferredSize()
      返回分隔符的首选大小。
      覆盖:
      getPreferredSize 在类 Container
      实现注意:
      在当前实现中,如果splitpane是HORIZONTAL_SPLIT,则首选大小是从getDividerSize像素的宽度和1像素的高度获取的。如果splitpane是VERTICAL_SPLIT,则首选大小是从getDividerSize像素的高度和1像素的宽度获取的。
      返回:
      包含BasicSplitPaneDivider的首选大小的Dimension对象
      参见:
    • getMinimumSize

      public Dimension getMinimumSize()
      返回分隔符的最小大小。
      覆盖:
      getMinimumSize 在类 Container
      实现说明:
      在当前实现中,如果分隔窗格是HORIZONTAL_SPLIT,则最小尺寸从getDividerSize像素的宽度和1像素的高度中获取。如果分隔窗格是VERTICAL_SPLIT,则最小尺寸从getDividerSize像素的高度和1像素的宽度中获取。
      返回:
      包含BasicSplitPaneDivider最小尺寸的Dimension对象
      参见:
    • propertyChange

      public void propertyChange(PropertyChangeEvent e)
      属性更改事件,可能来自JSplitPane,将在必要时更新方向。
      指定者:
      propertyChange 在接口 PropertyChangeListener
      参数:
      e - 描述事件源和已更改属性的PropertyChangeEvent对象
    • paint

      public void paint(Graphics g)
      绘制分隔线。
      覆盖:
      paint 在类 Container
      参数:
      g - 指定的Graphics窗口
      参见:
    • oneTouchExpandableChanged

      protected void oneTouchExpandableChanged()
      当包含分隔线的JSplitPane的oneTouchExpandable值更改时发送消息。如果leftButtonrightButton为null,并且相应的JSplitPane支持oneTouchExpandable属性,则将创建它们。同时也使相应的JSplitPane失效。
    • createLeftOneTouchButton

      protected JButton createLeftOneTouchButton()
      创建并返回一个JButton实例,可用于折叠分隔窗格中的左组件。
      返回:
      一个JButton实例
    • createRightOneTouchButton

      protected JButton createRightOneTouchButton()
      创建并返回一个JButton实例,可用于折叠分隔窗格中的右组件。
      返回:
      一个JButton实例
    • prepareForDragging

      protected void prepareForDragging()
      准备拖动的消息。通过startDragging向BasicSplitPaneUI发送消息。
    • dragDividerTo

      protected void dragDividerTo(int location)
      通过dragDividerTo向包含此实例的BasicSplitPaneUI发送消息。
      参数:
      location - 位置
    • finishDraggingTo

      protected void finishDraggingTo(int location)
      通过finishDraggingTo向包含此实例的BasicSplitPaneUI发送消息。
      参数:
      location - 位置