Class EditBox

java.lang.Object
net.minecraft.client.gui.components.AbstractWidget
net.minecraft.client.gui.components.EditBox
All Implemented Interfaces:
GuiEventListener, Renderable, TabOrderedElement, LayoutElement, NarratableEntry, NarrationSupplier, IAbstractWidgetExtension

public class EditBox extends AbstractWidget implements Renderable
  • Field Details

    • SPRITES

      private static final WidgetSprites SPRITES
    • BACKWARDS

      public static final int BACKWARDS
      See Also:
    • FORWARDS

      public static final int FORWARDS
      See Also:
    • CURSOR_INSERT_WIDTH

      private static final int CURSOR_INSERT_WIDTH
      See Also:
    • CURSOR_INSERT_COLOR

      private static final int CURSOR_INSERT_COLOR
      See Also:
    • CURSOR_APPEND_CHARACTER

      private static final String CURSOR_APPEND_CHARACTER
      See Also:
    • DEFAULT_TEXT_COLOR

      public static final int DEFAULT_TEXT_COLOR
      See Also:
    • font

      private final Font font
    • value

      private String value
      Has the current text being edited on the textbox.
    • maxLength

      private int maxLength
    • bordered

      private boolean bordered
    • canLoseFocus

      private boolean canLoseFocus
      if true the textbox can lose focus by clicking elsewhere on the screen
    • isEditable

      private boolean isEditable
      If this value is true along with isFocused, keyTyped will process the keys.
    • displayPos

      private int displayPos
      The current character index that should be used as start of the rendered text.
    • cursorPos

      private int cursorPos
    • highlightPos

      private int highlightPos
      other selection position, maybe the same as the cursor
    • textColor

      private int textColor
    • textColorUneditable

      private int textColorUneditable
    • suggestion

      @Nullable private String suggestion
    • responder

      @Nullable private Consumer<String> responder
    • filter

      private Predicate<String> filter
      Called to check if the text is valid
    • formatter

    • hint

      @Nullable private Component hint
    • focusedTime

      private long focusedTime
    • textShadow

      private boolean textShadow
  • Constructor Details

    • EditBox

      public EditBox(Font font, int width, int height, Component message)
    • EditBox

      public EditBox(Font font, int x, int y, int width, int height, Component message)
    • EditBox

      public EditBox(Font font, int x, int y, int width, int height, @Nullable EditBox editBox, Component message)
  • Method Details

    • setResponder

      public void setResponder(Consumer<String> responder)
    • setFormatter

      public void setFormatter(BiFunction<String,Integer,FormattedCharSequence> textFormatter)
    • createNarrationMessage

      protected MutableComponent createNarrationMessage()
      Overrides:
      createNarrationMessage in class AbstractWidget
    • setValue

      public void setValue(String text)
      Sets the text of the textbox, and moves the cursor to the end.
    • getValue

      public String getValue()
    • getHighlighted

      public String getHighlighted()
    • setFilter

      public void setFilter(Predicate<String> validator)
    • insertText

      public void insertText(String textToWrite)
      Adds the given text after the cursor, or replaces the currently selected text if there is a selection.
    • onValueChange

      private void onValueChange(String newText)
    • deleteText

      private void deleteText(int count)
    • deleteWords

      public void deleteWords(int num)
      Deletes the given number of words from the current cursor's position, unless there is currently a selection, in which case the selection is deleted instead.
    • deleteChars

      public void deleteChars(int num)
      Deletes the given number of characters from the current cursor's position, unless there is currently a selection, in which case the selection is deleted instead.
    • deleteCharsToPos

      public void deleteCharsToPos(int num)
    • getWordPosition

      public int getWordPosition(int numWords)
      Gets the starting index of the word at the specified number of words away from the cursor position.
    • getWordPosition

      private int getWordPosition(int numWords, int pos)
      Gets the starting index of the word at a distance of the specified number of words away from the given position.
    • getWordPosition

      private int getWordPosition(int numWords, int pos, boolean skipConsecutiveSpaces)
      Like getNthWordFromPos (which wraps this), but adds option for skipping consecutive spaces
    • moveCursor

      public void moveCursor(int delta, boolean select)
    • getCursorPos

      private int getCursorPos(int delta)
    • moveCursorTo

      public void moveCursorTo(int delta, boolean select)
    • setCursorPosition

      public void setCursorPosition(int pos)
    • moveCursorToStart

      public void moveCursorToStart(boolean select)
    • moveCursorToEnd

      public void moveCursorToEnd(boolean select)
    • keyPressed

      public boolean keyPressed(int keyCode, int scanCode, int modifiers)
      Called when a keyboard key is pressed within the GUI element.

      Specified by:
      keyPressed in interface GuiEventListener
      Parameters:
      keyCode - the key code of the pressed key.
      scanCode - the scan code of the pressed key.
      modifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • canConsumeInput

      public boolean canConsumeInput()
    • charTyped

      public boolean charTyped(char codePoint, int modifiers)
      Called when a character is typed within the GUI element.

      Specified by:
      charTyped in interface GuiEventListener
      Parameters:
      codePoint - the code point of the typed character.
      modifiers - the keyboard modifiers.
      Returns:
      true if the event is consumed, false otherwise.
    • onClick

      public void onClick(double mouseX, double mouseY)
      Overrides:
      onClick in class AbstractWidget
    • playDownSound

      public void playDownSound(SoundManager handler)
      Overrides:
      playDownSound in class AbstractWidget
    • renderWidget

      public void renderWidget(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick)
      Specified by:
      renderWidget in class AbstractWidget
    • renderHighlight

      private void renderHighlight(GuiGraphics guiGraphics, int minX, int minY, int maxX, int maxY)
    • setMaxLength

      public void setMaxLength(int length)
      Sets the maximum length for the text in this text box. If the current text is longer than this length, the current text will be trimmed.
    • getMaxLength

      private int getMaxLength()
    • getCursorPosition

      public int getCursorPosition()
    • isBordered

      public boolean isBordered()
    • setBordered

      public void setBordered(boolean enableBackgroundDrawing)
      Sets whether the background and outline of this text box should be drawn.
    • setTextColor

      public void setTextColor(int color)
      Sets the color to use when drawing this text box's text. A different color is used if this text box is disabled.
    • setTextColorUneditable

      public void setTextColorUneditable(int color)
      Sets the color to use for text in this text box when this text box is disabled.
    • setFocused

      public void setFocused(boolean focused)
      Sets the focus state of the GUI element.
      Specified by:
      setFocused in interface GuiEventListener
      Overrides:
      setFocused in class AbstractWidget
      Parameters:
      focused - true to apply focus, false to remove focus
    • isEditable

      private boolean isEditable()
    • setEditable

      public void setEditable(boolean enabled)
      Sets whether this text box is enabled. Disabled text boxes cannot be typed in.
    • getInnerWidth

      public int getInnerWidth()
    • setHighlightPos

      public void setHighlightPos(int position)
      Sets the position of the selection anchor (the selection anchor and the cursor position mark the edges of the selection). If the anchor is set beyond the bounds of the current text, it will be put back inside.
    • scrollTo

      private void scrollTo(int position)
    • setCanLoseFocus

      public void setCanLoseFocus(boolean canLoseFocus)
      Sets whether this text box loses focus when something other than it is clicked.
    • isVisible

      public boolean isVisible()
    • setVisible

      public void setVisible(boolean isVisible)
      Sets whether this textbox is visible.
    • setSuggestion

      public void setSuggestion(@Nullable String suggestion)
    • getScreenX

      public int getScreenX(int charNum)
    • updateWidgetNarration

      public void updateWidgetNarration(NarrationElementOutput narrationElementOutput)
      Specified by:
      updateWidgetNarration in class AbstractWidget
    • setHint

      public void setHint(Component hint)
    • setTextShadow

      public void setTextShadow(boolean textShadow)
    • getTextShadow

      public boolean getTextShadow()