Class GuiForm

java.lang.Object
net.chen.legacyLand.gui.GuiForm
Direct Known Subclasses:
DiplomacyActionForm, DiplomacyOverviewForm, NationOverviewForm, PlayerMenuForm

public abstract class GuiForm extends Object
GUI 表单抽象基类 所有表单的基础类,提供通用的表单管理功能
  • Constructor Details

    • GuiForm

      protected GuiForm(String formId, String title)
      构造函数
      Parameters:
      formId - 表单 ID
      title - 表单标题
    • GuiForm

      protected GuiForm(String formId, String title, int size)
      构造函数(默认 6 行)
      Parameters:
      formId - 表单 ID
      title - 表单标题
      size - 表单大小(行数)
  • Method Details

    • addElement

      public void addElement(GuiElement element)
      添加元素
      Parameters:
      element - 元素
    • getElement

      public GuiElement getElement(@NotNull @NotNull String elementId)
      通过 ID 获取元素
      Parameters:
      elementId - 元素 ID
      Returns:
      元素(可能为 null)
    • removeElement

      public void removeElement(String elementId)
      移除元素
      Parameters:
      elementId - 元素 ID
    • render

      public void render(org.bukkit.entity.Player player, GuiSession session)
      渲染表单
      Parameters:
      player - 玩家
      session - 会话
    • handleClick

      public void handleClick(org.bukkit.entity.Player player, GuiSession session, int slot, org.bukkit.event.inventory.ClickType clickType)
      处理元素点击
      Parameters:
      player - 玩家
      session - 会话
      slot - 槽位
      clickType - 点击类型
    • submit

      public void submit(GuiSession session)
      提交表单
      Parameters:
      session - 会话
    • cancel

      public void cancel(GuiSession session)
      取消表单
      Parameters:
      session - 会话
    • validate

      public boolean validate(FormResult result)
      验证表单
      Parameters:
      result - 表单结果
      Returns:
      验证是否通过
    • initialize

      protected abstract void initialize()
      初始化表单(子类实现) 用于添加元素和设置回调