一键导入
javafx-forms-validation-preferences
Build JavaFX forms, validation flows, suggestion inputs, and preferences screens with clear state ownership.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Build JavaFX forms, validation flows, suggestion inputs, and preferences screens with clear state ownership.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build JavaFX 3D modeling tools and print/export workflows with isolated geometry generation and preview rendering.
Choose and integrate mature third-party JavaFX control libraries for forms, productivity widgets, theming, and developer workflow support.
Build JavaFX terminal emulators or shell-style console panes with background process I/O, ANSI handling, and safe FX-thread updates.
Build node-based JavaFX workflow editors, graph canvases, and visual programming surfaces with clean model separation.
Animate JavaFX UIs with Timeline, Transition, Canvas, and AnimationTimer-based render loops.
Manage the JavaFX Application lifecycle, primary stage setup, startup sequencing, and shutdown behavior.
| name | javafx-forms-validation-preferences |
| description | Build JavaFX forms, validation flows, suggestion inputs, and preferences screens with clear state ownership. |
| triggers | ["javafx form validation","preferencesfx","javafx settings screen","javafx autocomplete field"] |
| compatibility | {"java":"17+","javafx":"21+"} |
| category | ui-advanced |
| tags | ["forms","validation","preferences","settings","controls"] |
| metadata | {"scope":"repository","maturity":"starter"} |
| allowed-tools | ["view","rg","apply_patch"] |
Use this skill when the application needs structured data entry, validation feedback, settings screens, or preference persistence. This is the focused slice left after splitting broader ecosystem-oriented concerns into their own skills.
import java.util.prefs.Preferences;
import javafx.beans.binding.Bindings;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
public class SettingsForm extends VBox {
private final Preferences preferences = Preferences.userNodeForPackage(SettingsForm.class);
public SettingsForm() {
var endpointField = new TextField(preferences.get("endpoint", ""));
var errorLabel = new Label();
var saveButton = new Button("Save");
errorLabel.textProperty().bind(
Bindings.when(endpointField.textProperty().isEmpty())
.then("Endpoint is required")
.otherwise("")
);
saveButton.disableProperty().bind(endpointField.textProperty().isEmpty());
saveButton.setOnAction(event -> preferences.put("endpoint", endpointField.getText()));
getChildren().addAll(new Label("API Endpoint"), endpointField, errorLabel, saveButton);
}
}