AbstractContainerWidget.java

net.minecraft.client.gui.components.AbstractContainerWidget

信息

  • 全限定名:net.minecraft.client.gui.components.AbstractContainerWidget
  • 类型:public abstract class
  • 包:net.minecraft.client.gui.components
  • 源码路径:src/main/java/net/minecraft/client/gui/components/AbstractContainerWidget.java
  • 起始行号:L14
  • 继承:AbstractScrollArea
  • 实现:ContainerEventHandler
  • 职责:

    TODO

字段/常量

  • focused

    • 类型: GuiEventListener
    • 修饰符: private
    • 源码定位: L15
    • 说明:

      TODO

  • isDragging

    • 类型: boolean
    • 修饰符: private
    • 源码定位: L16
    • 说明:

      TODO

内部类/嵌套类型

构造器

public AbstractContainerWidget(int x, int y, int width, int height, Component message, AbstractScrollArea.ScrollbarSettings scrollbarSettings) @ L18

  • 构造器名:AbstractContainerWidget
  • 源码定位:L18
  • 修饰符:public

参数:

  • x: int
  • y: int
  • width: int
  • height: int
  • message: Component
  • scrollbarSettings: AbstractScrollArea.ScrollbarSettings

说明:

TODO

方法

下面的方法块按源码顺序生成。

public final boolean isDragging() @ L22

  • 方法名:isDragging
  • 源码定位:L22
  • 返回类型:boolean
  • 修饰符:public final

参数:

说明:

TODO

public final void setDragging(boolean dragging) @ L27

  • 方法名:setDragging
  • 源码定位:L27
  • 返回类型:void
  • 修饰符:public final

参数:

  • dragging: boolean

说明:

TODO

public GuiEventListener getFocused() @ L32

  • 方法名:getFocused
  • 源码定位:L32
  • 返回类型:GuiEventListener
  • 修饰符:public

参数:

说明:

TODO

public void setFocused(GuiEventListener focused) @ L37

  • 方法名:setFocused
  • 源码定位:L37
  • 返回类型:void
  • 修饰符:public

参数:

  • focused: GuiEventListener

说明:

TODO

public ComponentPath nextFocusPath(FocusNavigationEvent navigationEvent) @ L50

  • 方法名:nextFocusPath
  • 源码定位:L50
  • 返回类型:ComponentPath
  • 修饰符:public

参数:

  • navigationEvent: FocusNavigationEvent

说明:

TODO

public boolean mouseClicked(MouseButtonEvent event, boolean doubleClick) @ L55

  • 方法名:mouseClicked
  • 源码定位:L55
  • 返回类型:boolean
  • 修饰符:public

参数:

  • event: MouseButtonEvent
  • doubleClick: boolean

说明:

TODO

public boolean mouseReleased(MouseButtonEvent event) @ L61

  • 方法名:mouseReleased
  • 源码定位:L61
  • 返回类型:boolean
  • 修饰符:public

参数:

  • event: MouseButtonEvent

说明:

TODO

public boolean mouseDragged(MouseButtonEvent event, double dx, double dy) @ L67

  • 方法名:mouseDragged
  • 源码定位:L67
  • 返回类型:boolean
  • 修饰符:public

参数:

  • event: MouseButtonEvent
  • dx: double
  • dy: double

说明:

TODO

public boolean isFocused() @ L73

  • 方法名:isFocused
  • 源码定位:L73
  • 返回类型:boolean
  • 修饰符:public

参数:

说明:

TODO

public void setFocused(boolean focused) @ L78

  • 方法名:setFocused
  • 源码定位:L78
  • 返回类型:void
  • 修饰符:public

参数:

  • focused: boolean

说明:

TODO

代码

@OnlyIn(Dist.CLIENT)
public abstract class AbstractContainerWidget extends AbstractScrollArea implements ContainerEventHandler {
    private @Nullable GuiEventListener focused;
    private boolean isDragging;
 
    public AbstractContainerWidget(int x, int y, int width, int height, Component message, AbstractScrollArea.ScrollbarSettings scrollbarSettings) {
        super(x, y, width, height, message, scrollbarSettings);
    }
 
    @Override
    public final boolean isDragging() {
        return this.isDragging;
    }
 
    @Override
    public final void setDragging(boolean dragging) {
        this.isDragging = dragging;
    }
 
    @Override
    public @Nullable GuiEventListener getFocused() {
        return this.focused;
    }
 
    @Override
    public void setFocused(@Nullable GuiEventListener focused) {
        if (this.focused != null) {
            this.focused.setFocused(false);
        }
 
        if (focused != null) {
            focused.setFocused(true);
        }
 
        this.focused = focused;
    }
 
    @Override
    public @Nullable ComponentPath nextFocusPath(FocusNavigationEvent navigationEvent) {
        return ContainerEventHandler.super.nextFocusPath(navigationEvent);
    }
 
    @Override
    public boolean mouseClicked(MouseButtonEvent event, boolean doubleClick) {
        boolean scrolling = this.updateScrolling(event);
        return ContainerEventHandler.super.mouseClicked(event, doubleClick) || scrolling;
    }
 
    @Override
    public boolean mouseReleased(MouseButtonEvent event) {
        super.mouseReleased(event);
        return ContainerEventHandler.super.mouseReleased(event);
    }
 
    @Override
    public boolean mouseDragged(MouseButtonEvent event, double dx, double dy) {
        super.mouseDragged(event, dx, dy);
        return ContainerEventHandler.super.mouseDragged(event, dx, dy);
    }
 
    @Override
    public boolean isFocused() {
        return ContainerEventHandler.super.isFocused();
    }
 
    @Override
    public void setFocused(boolean focused) {
        ContainerEventHandler.super.setFocused(focused);
    }
}

引用的其他类