FormFieldComponent
A label, a required mark, a line of help and an error around any widget.
Java
Inside a PanelComponent constructor. The same call draws in every family and chroma.
Java
TextFieldComponent name = add(new TextFieldComponent(at(new Box("name", 0, 0, 0, 16)), "", v -> { }));
FormFieldComponent field = add(new FormFieldComponent(at(new Box("f", 10, 10, 160, 0)), this, "World name", name)
.required(true)
.description(words.get("mymod.name_help"))
.validator(() -> name.text().isBlank() ? words.get("mymod.name_needed") : null));
// Later, on Save:
if (field.validate()) { save(); }Error
