Skip to main content

Introduction

JJArroyo provides a rich set of pre-styled JavaFX components designed with modern UI principles. All components follow a consistent API pattern and integrate seamlessly with the theming system.

Component Categories

Buttons & Badges

Interactive elements including buttons, badges, and chips

Form Inputs

Text inputs, password fields, and search components

Cards

Flexible container components with headers, bodies, and footers

Alerts

Notification and alert components for user feedback

Modals

Dialog and modal overlay components

Design Philosophy

Fluent API

All components support method chaining for concise, readable code:
JButton button = new JButton("Click Me")
    .addClass("btn-success", "btn-lg")
    .setIcon(JIcon.CHECK);

Style Classes

Components use CSS style classes that follow Tailwind-inspired naming conventions:
  • btn-primary, btn-success, btn-danger - Color variants
  • btn-sm, btn-lg - Size modifiers
  • badge-circle - Shape modifiers

Intelligent Defaults

Components automatically manage default styles. When you add a variant class (like btn-success), the default btn-primary is automatically removed.

Common Patterns

Adding Style Classes

All visual components provide an addClass() method:
component.addClass("custom-class", "another-class");

Using Icons

Many components support the JIcon enum for consistent iconography:
JButton button = new JButton("Save", JIcon.SAVE);
JAlert alert = new JAlert("Success").setIcon(JIcon.CHECK_CIRCLE);

Form Labels

Input components can generate labeled containers:
JInput input = new JInput("Enter username");
VBox labeledInput = input.createWithLabel("Username", true); // true = required

Browser Compatibility

All components are tested with JavaFX 17+ and support:
  • Windows 10/11
  • macOS 10.14+
  • Linux (GTK 3+)

Next Steps

Explore Components

Browse the individual component pages to see detailed examples and API references.

Build docs developers (and LLMs) love