Uibooster

🚀 Creates fast and easy dialogs for utility tools
Alternatives To Uibooster
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Ctop14,5291a month ago23March 24, 202296mitGo
Top-like interface for container metrics
Finalcut841
5 days ago5lgpl-3.0C++
A text-based widget toolkit
Telegram History Dump544
5 years ago55gpl-3.0Ruby
Backup Telegram chat logs using telegram-cli
Sshto470
4 months ago4mitShell
Small bash script to manage your ssh connections. It builds menu (via dialog) from your ~/.ssh/config. It can not only connect but also to run commands, copy files, tunnel ports.
Cocoadialog377
10 months ago18gpl-2.0Objective-C
Create macOS dialogs from the command line easily!
Sudo Prompt3411,5822143 years ago47April 29, 202020mitJavaScript
Run a command using sudo, prompting the user with an OS dialog if necessary.
Artisan Menu136
4 years ago5October 25, 20192lgpl-3.0PHP
📝 Artisan Menu - Use Artisan via an elegant console GUI
Uibooster95
18 days ago5gpl-3.0Java
🚀 Creates fast and easy dialogs for utility tools
Zola.38685
5 months ago6mitHTML
Port of BOOTSTRA.386 for Zola.
Murmur69
5 years ago7mitC#
A lightweight language for writing dialog
Alternatives To Uibooster
Select To Compare


Alternative Project Comparisons
Readme

Release Build Status

UiBooster is a lean library to create fast and easy dialogs for utility tools. It equips your applications blazing fast with GUI components to increase the comfort for your users.

It's based on Java swing components to run on current JREs without any struggle. This library encapsulates the long and sometimes complicated GUI code and leaves more clarity in your project.

I decided to create this project, because I missed something like zenity for my Java applications.

If you like this project, and you want to keep me awake 🤪, please:

Buy Me a Coffee at ko-fi.com

Components

Information dialogs

screenshot info dialog screenshot warn dialog screenshot error dialog

new UiBooster().showInfoDialog("UiBooster is a lean library to ....");
new UiBooster().showWarningDialog("Your computer has a low battery ....", "WARN");
new UiBooster().showErrorDialog("The connection to SQL database is failed.", "ERROR");

Text input dialog

screenshot input dialog

String opinion = new UiBooster().showTextInputDialog("What do you think?");

Confirmation dialog

screenshot confirm dialog

new UiBooster().showConfirmDialog(
                "Do you really want this action?",
                "Are you sure?",
                () -> System.out.println("Action accepted"),
                () -> System.out.println("Action declined"));

Password input dialog

screenshot password dialog

String password = booster.showPasswordDialog("Whats your password?", "Password");

Selection dialog

screenshot selection dialog

String selection = new UiBooster().showSelectionDialog(
        "What's your favorite movie?",
        "Favorite Movie?",
        Arrays.asList("Pulp Fiction", "Bambi", "The Godfather", "Hangover"));

Multiple selection dialog

screenshot multiple selection dialog

 List<String> selectedElement = new UiBooster().showMultipleSelection(
            "What are your favorite hobbies?",
            "Your hobbies",
            "Reading", "Traveling", "Fishing", "Music", "Gardening", "Sport", "Television",
            "Video Games", "Crafting", "Bird Watching", "Collecting");

Slider dialog

screenshot slider dialog

Integer numberOfHotDogs = new UiBooster().showSlider("How many HotDogs do you want?", "Your order", 
                0, 10, 2, 5, 1);

Colorpicker

screenshot color dialog

Color selectedColor = new UiBooster().showColorPicker("Choose your favorite color", "Color picking");

library by @dheid: colorpicker

Font Chooser

screenshot font dialog

Font selectedFont = new UiBooster().showFontChooser("Choose your favorite font", "Font choosing");

library by @dheid: fontchooser

Datepicker

screenshot datepicker

Date birthday = new UiBooster().showDatePicker("What's your birthday?", "Birthday");

File and directory selection dialogs

screenshot file dialog

UiBooster booster = new UiBooster();
File file = booster.showFileSelection();
File directory = booster.showDirectorySelection();
File fileOrDirectory = booster.showFileOrDirectorySelection();

Text area dialog

screenshot text area dialog

new UiBooster().showTextArea("Want to read some lorem ipsum?", "Message for you",
    "Lorem ipsum dolor sit amet ...",
    10, 40, false);
);

HTML text dialog

screenshot html text dialog

new UiBooster().showHtmlText("My menu", "Menu overview",
    "<h1>📜 Menu</h1>" +
    "<ul>" +
    "<li>🍕 Pizza </li>" +
    "<li>🍔 Cheeseburger</li>" +
    "<li>🥗 Caesar-Salat</li>" +
    "</ul>");

Exception dialog

screenshot exception dialog

new UiBooster().showException(
    "An error occurred", 
    "Exception message",
    new Exception("Something went wrong ...")
);

List dialog

screenshot list dialog

ListElement selectedElement = new UiBooster().showList(
    "Select a robot", 
    "Avatars from RoboHash.org",
    element -> System.out.println("Selected: " + element.toString()),
    new ListElement("Robo 1", "Green and strong",         "src/test/resources/avatar1.png"),
    new ListElement("Robo 2", "Shy without an avatar!"),
    new ListElement("Robo 3", "- Crazy\n- Fast\n- Funny", "src/test/resources/avatar2.png"),
    new ListElement("Robo 4", null,                       "src/test/resources/avatar3.png")
);

Login dialog

screenshot login dialog

LoginCredentials credentials = new UiBooster().showLogin(
        "Login",
        "Internal area",
        "Username",
        "Password",
        "Go",
        "Cancel");

Waiting dialog

screenshot waiting dialog

WaitingDialog dialog = new UiBooster().showWaitingDialog("Starting", "Please wait");
dialog.setMessage("Ready");
dialog.close();

screenshot waiting with message dialog

WaitingDialog dialog = new UiBooster().showWaitingDialog("Starting", "Please wait");
dialog.setMessage("Initializing");
dialog.setLargeMessage("Some more information...\nMaybe from log files or other resources. \nBe transparent to the user to understand long processes...");
dialog.close();

Progress dialog

screenshot progress dialog

ProgressDialog dialog = new UiBooster().showProgressDialog("Please wait", "Waiting", 0, 120);
dialog.setProgress(10);
// ...
dialog.setProgress(120);
dialog.setMessage("Ready");
dialog.close();

Table dialog

screenshot table dialog

String[][] modifiedData = new UiBooster().showTable(    // showTableImmutable for immutable tables
        new String[][]{
                {"Jimmy Johnson", "35", "Zombieland"},
                {"Danny Durango", "23", "Hangover"},
                {"Larry Berry", "54", ""}
        },
        Arrays.asList("Name", "Age", "Favorite movie"),
        "Favorite movies");

Gallery dialog

screenshot gallery dialog

new UiBooster().showPictures(
        "My picture",
        Arrays.asList(
            new File("/home/nick/pictures/img-01.jpg"),
            new File("/home/nick/pictures/img-02.jpg")
        )
);

Form dialog

screenshot gallery dialog

UiBooster booster = new UiBooster();
Form form = booster.createForm("Personal information")
            .addText("Whats your first name?")
            .addTextArea("Tell me something about you")
            .addSelection(
                    "Whats your favorite movie?",
                    Arrays.asList("Pulp Fiction", "Bambi", "The Godfather", "Hangover"))
            .addLabel("Choose an action")
            .addButton("half full", () -> booster.showInfoDialog("Optimist"))
            .addButton("half empty", () -> booster.showInfoDialog("Pessimist"))
            .addSlider("How many liters did you drink today?", 0, 5, 1, 5, 1)
            .show();

// use .run() instead of show() to open the formBuilder without blocking.

The form is very powerful and provides a lot of features:

  • add your own elements (Example)
  • put multiple elements in one row (Example)
  • add a listener for any changes (Example)
  • add a listener on window close (Example)
  • set window setting, f.e. size and position (Example)

Splash screen

screenshot splash screen

Splashscreen splash = new UiBooster().showSplashscreen("/path/to/your/splash.png");
// do your stuff
splash.hide();

System tray

screenshot gallery dialog

UiBooster booster = new UiBooster();
booster.createTrayMenu("Food", "screenshots/color.jpg")
        .withPopupMenu()
        .addMenu("Hotdogs", () -> booster.showInfoDialog("Sausage in a roll"))
        .addMenu("Fries", () -> booster.showInfoDialog("Fried potatoes"))
        .addMenu("Pizza", () -> booster.showInfoDialog("Dough with tomato sauce"));

Notification

screenshot gallery dialog

new UiBooster().createNotification("It's hot and delicious", "Dinner is ready");

Options

UiBooster booster = new UiBooster(
    UiBoosterOptions.Theme.DARK_THEME,
    "/path/to/your/custom-window-icon.png"
);

See some examples for UiBoosterOptions here

Include to project

Maven

If you want to use UiBooster than add the following to your pom.xml.

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
<dependency>
    <groupId>com.github.Milchreis</groupId>
  <artifactId>UiBooster</artifactId>
  <version>1.19.1</version>
</dependency>

Gradle

If you want to use UiBooster with gradle than add the repo, and the dependency to your root build.gradle file.

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
dependencies {
        implementation 'com.github.Milchreis:UiBooster:1.19.1'
}
Popular Dialog Projects
Popular Command Line Projects
Popular User Interface Components Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Java
Command Line
Table
Form
Gui
Login
Dialog
Dark Theme
Datepicker
Color Picker