Button.java
net.minecraft.client.gui.components.Button
信息
- 全限定名:net.minecraft.client.gui.components.Button
- 类型:public abstract class
- 包:net.minecraft.client.gui.components
- 源码路径:src/main/java/net/minecraft/client/gui/components/Button.java
- 起始行号:L14
- 继承:AbstractButton
- 职责:
TODO
字段/常量
-
SMALL_WIDTH- 类型:
int - 修饰符:
public static final - 源码定位:
L15 - 说明:
TODO
- 类型:
-
DEFAULT_WIDTH- 类型:
int - 修饰符:
public static final - 源码定位:
L16 - 说明:
TODO
- 类型:
-
BIG_WIDTH- 类型:
int - 修饰符:
public static final - 源码定位:
L17 - 说明:
TODO
- 类型:
-
DEFAULT_HEIGHT- 类型:
int - 修饰符:
public static final - 源码定位:
L18 - 说明:
TODO
- 类型:
-
DEFAULT_SPACING- 类型:
int - 修饰符:
public static final - 源码定位:
L19 - 说明:
TODO
- 类型:
-
DEFAULT_NARRATION- 类型:
Button.CreateNarration - 修饰符:
protected static final - 源码定位:
L20 - 说明:
TODO
- 类型:
-
onPress- 类型:
Button.OnPress - 修饰符:
protected final - 源码定位:
L21 - 说明:
TODO
- 类型:
-
createNarration- 类型:
Button.CreateNarration - 修饰符:
protected final - 源码定位:
L22 - 说明:
TODO
- 类型:
内部类/嵌套类型
-
net.minecraft.client.gui.components.Button.Builder- 类型:
class - 修饰符:
public static - 源码定位:
L50 - 说明:
TODO
- 类型:
-
net.minecraft.client.gui.components.Button.CreateNarration- 类型:
interface - 修饰符:
public - 源码定位:
L104 - 说明:
TODO
- 类型:
-
net.minecraft.client.gui.components.Button.OnPress- 类型:
interface - 修饰符:
public - 源码定位:
L109 - 说明:
TODO
- 类型:
-
net.minecraft.client.gui.components.Button.Plain- 类型:
class - 修饰符:
public static - 源码定位:
L114 - 说明:
TODO
- 类型:
构造器
protected Button(int x, int y, int width, int height, Component message, Button.OnPress onPress, Button.CreateNarration createNarration) @ L28
- 构造器名:Button
- 源码定位:L28
- 修饰符:protected
参数:
- x: int
- y: int
- width: int
- height: int
- message: Component
- onPress: Button.OnPress
- createNarration: Button.CreateNarration
说明:
TODO
方法
下面的方法块按源码顺序生成。
public static Button.Builder builder(Component message, Button.OnPress onPress) @ L24
- 方法名:builder
- 源码定位:L24
- 返回类型:Button.Builder
- 修饰符:public static
参数:
- message: Component
- onPress: Button.OnPress
说明:
TODO
public void onPress(InputWithModifiers input) @ L34
- 方法名:onPress
- 源码定位:L34
- 返回类型:void
- 修饰符:public
参数:
- input: InputWithModifiers
说明:
TODO
protected MutableComponent createNarrationMessage() @ L39
- 方法名:createNarrationMessage
- 源码定位:L39
- 返回类型:MutableComponent
- 修饰符:protected
参数:
- 无
说明:
TODO
public void updateWidgetNarration(NarrationElementOutput output) @ L44
- 方法名:updateWidgetNarration
- 源码定位:L44
- 返回类型:void
- 修饰符:public
参数:
- output: NarrationElementOutput
说明:
TODO
代码
@OnlyIn(Dist.CLIENT)
public abstract class Button extends AbstractButton {
public static final int SMALL_WIDTH = 120;
public static final int DEFAULT_WIDTH = 150;
public static final int BIG_WIDTH = 200;
public static final int DEFAULT_HEIGHT = 20;
public static final int DEFAULT_SPACING = 8;
protected static final Button.CreateNarration DEFAULT_NARRATION = defaultNarrationSupplier -> defaultNarrationSupplier.get();
protected final Button.OnPress onPress;
protected final Button.CreateNarration createNarration;
public static Button.Builder builder(Component message, Button.OnPress onPress) {
return new Button.Builder(message, onPress);
}
protected Button(int x, int y, int width, int height, Component message, Button.OnPress onPress, Button.CreateNarration createNarration) {
super(x, y, width, height, message);
this.onPress = onPress;
this.createNarration = createNarration;
}
@Override
public void onPress(InputWithModifiers input) {
this.onPress.onPress(this);
}
@Override
protected MutableComponent createNarrationMessage() {
return this.createNarration.createNarrationMessage(() -> super.createNarrationMessage());
}
@Override
public void updateWidgetNarration(NarrationElementOutput output) {
this.defaultButtonNarrationText(output);
}
@OnlyIn(Dist.CLIENT)
public static class Builder {
private final Component message;
private final Button.OnPress onPress;
private @Nullable Tooltip tooltip;
private int x;
private int y;
private int width = 150;
private int height = 20;
private Button.CreateNarration createNarration = Button.DEFAULT_NARRATION;
public Builder(Component message, Button.OnPress onPress) {
this.message = message;
this.onPress = onPress;
}
public Button.Builder pos(int x, int y) {
this.x = x;
this.y = y;
return this;
}
public Button.Builder width(int width) {
this.width = width;
return this;
}
public Button.Builder size(int width, int height) {
this.width = width;
this.height = height;
return this;
}
public Button.Builder bounds(int x, int y, int width, int height) {
return this.pos(x, y).size(width, height);
}
public Button.Builder tooltip(@Nullable Tooltip tooltip) {
this.tooltip = tooltip;
return this;
}
public Button.Builder createNarration(Button.CreateNarration createNarration) {
this.createNarration = createNarration;
return this;
}
public Button build() {
Button button = new Button.Plain(this.x, this.y, this.width, this.height, this.message, this.onPress, this.createNarration);
button.setTooltip(this.tooltip);
return button;
}
}
@OnlyIn(Dist.CLIENT)
public interface CreateNarration {
MutableComponent createNarrationMessage(Supplier<MutableComponent> defaultNarrationSupplier);
}
@OnlyIn(Dist.CLIENT)
public interface OnPress {
void onPress(final Button button);
}
@OnlyIn(Dist.CLIENT)
public static class Plain extends Button {
protected Plain(int x, int y, int width, int height, Component message, Button.OnPress onPress, Button.CreateNarration createNarration) {
super(x, y, width, height, message, onPress, createNarration);
}
@Override
protected void extractContents(GuiGraphicsExtractor graphics, int mouseX, int mouseY, float a) {
this.extractDefaultSprite(graphics);
this.extractDefaultLabel(graphics.textRendererForWidget(this, GuiGraphicsExtractor.HoveredTextEffects.NONE));
}
}
}引用的其他类
-
- 引用位置:
继承
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
参数
- 引用位置:
-
- 引用位置:
返回值
- 引用位置: