AbstractStringWidget.java
net.minecraft.client.gui.components.AbstractStringWidget
信息
- 全限定名:net.minecraft.client.gui.components.AbstractStringWidget
- 类型:public abstract class
- 包:net.minecraft.client.gui.components
- 源码路径:src/main/java/net/minecraft/client/gui/components/AbstractStringWidget.java
- 起始行号:L16
- 继承:AbstractWidget
- 职责:
TODO
字段/常量
-
componentClickHandler- 类型:
Consumer<Style> - 修饰符:
private - 源码定位:
L17 - 说明:
TODO
- 类型:
-
font- 类型:
Font - 修饰符:
private final - 源码定位:
L18 - 说明:
TODO
- 类型:
内部类/嵌套类型
- 无
构造器
public AbstractStringWidget(int x, int y, int width, int height, Component message, Font font) @ L20
- 构造器名:AbstractStringWidget
- 源码定位:L20
- 修饰符:public
参数:
- x: int
- y: int
- width: int
- height: int
- message: Component
- font: Font
说明:
TODO
方法
下面的方法块按源码顺序生成。
public abstract void visitLines(ActiveTextCollector output) @ L25
- 方法名:visitLines
- 源码定位:L25
- 返回类型:void
- 修饰符:public abstract
参数:
- output: ActiveTextCollector
说明:
TODO
public void extractWidgetRenderState(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float a) @ L27
- 方法名:extractWidgetRenderState
- 源码定位:L27
- 返回类型:void
- 修饰符:public
参数:
- graphics: GuiGraphicsExtractor
- mouseX: int
- mouseY: int
- a: float
说明:
TODO
public void onClick(MouseButtonEvent event, boolean doubleClick) @ L43
- 方法名:onClick
- 源码定位:L43
- 返回类型:void
- 修饰符:public
参数:
- event: MouseButtonEvent
- doubleClick: boolean
说明:
TODO
protected void updateWidgetNarration(NarrationElementOutput output) @ L58
- 方法名:updateWidgetNarration
- 源码定位:L58
- 返回类型:void
- 修饰符:protected
参数:
- output: NarrationElementOutput
说明:
TODO
protected final Font getFont() @ L62
- 方法名:getFont
- 源码定位:L62
- 返回类型:Font
- 修饰符:protected final
参数:
- 无
说明:
TODO
public void setMessage(Component message) @ L66
- 方法名:setMessage
- 源码定位:L66
- 返回类型:void
- 修饰符:public
参数:
- message: Component
说明:
TODO
public AbstractStringWidget setComponentClickHandler(Consumer<Style> clickEventConsumer) @ L72
- 方法名:setComponentClickHandler
- 源码定位:L72
- 返回类型:AbstractStringWidget
- 修饰符:public
参数:
- clickEventConsumer: Consumer
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class AbstractStringWidget extends AbstractWidget {
private @Nullable Consumer<Style> componentClickHandler = null;
private final Font font;
public AbstractStringWidget(int x, int y, int width, int height, Component message, Font font) {
super(x, y, width, height, message);
this.font = font;
}
public abstract void visitLines(ActiveTextCollector output);
@Override
public void extractWidgetRenderState(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float a) {
GuiGraphicsExtractor.HoveredTextEffects effects;
if (this.isHovered()) {
if (this.componentClickHandler != null) {
effects = GuiGraphicsExtractor.HoveredTextEffects.TOOLTIP_AND_CURSOR;
} else {
effects = GuiGraphicsExtractor.HoveredTextEffects.TOOLTIP_ONLY;
}
} else {
effects = GuiGraphicsExtractor.HoveredTextEffects.NONE;
}
this.visitLines(graphics.textRendererForWidget(this, effects));
}
@Override
public void onClick(MouseButtonEvent event, boolean doubleClick) {
if (this.componentClickHandler != null) {
ActiveTextCollector.ClickableStyleFinder finder = new ActiveTextCollector.ClickableStyleFinder(this.getFont(), (int)event.x(), (int)event.y());
this.visitLines(finder);
Style clickedStyle = finder.result();
if (clickedStyle != null) {
this.componentClickHandler.accept(clickedStyle);
return;
}
}
super.onClick(event, doubleClick);
}
@Override
protected void updateWidgetNarration(NarrationElementOutput output) {
}
protected final Font getFont() {
return this.font;
}
@Override
public void setMessage(Component message) {
super.setMessage(message);
this.setWidth(this.getFont().width(message.getVisualOrderText()));
}
public AbstractStringWidget setComponentClickHandler(@Nullable Consumer<Style> clickEventConsumer) {
this.componentClickHandler = clickEventConsumer;
return this;
}
}引用的其他类
-
- 引用位置:
参数/方法调用/构造调用 - 关联成员:
ActiveTextCollector.ClickableStyleFinder(), ClickableStyleFinder()
- 引用位置:
-
- 引用位置:
参数/字段/返回值
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数/字段
- 引用位置: