All Projects → beryx → Text Io

beryx / Text Io

Licence: other
A library for creating interactive console applications in Java

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Text Io

Gcli
🖥 Go CLI application, tool library, running CLI commands, support console color, user interaction, progress display, data formatting display, generate bash/zsh completion add more features. Go的命令行应用,工具库,运行CLI命令,支持命令行色彩,用户交互,进度显示,数据格式化显示,生成bash/zsh命令补全脚本
Stars: ✭ 188 (-17.9%)
Mutual labels:  console
Lumberjackconsole
On-device CocoaLumberjack console with support for search, adjust levels, copying and more.
Stars: ✭ 205 (-10.48%)
Mutual labels:  console
Jquery.terminal
jQuery Terminal Emulator - JavaScript library for creating web-based terminals with custom commands
Stars: ✭ 2,623 (+1045.41%)
Mutual labels:  console
Contour
Modern C++ Terminal Emulator
Stars: ✭ 191 (-16.59%)
Mutual labels:  console
Glslviewer
Console-based GLSL Sandbox for 2D/3D shaders shaders
Stars: ✭ 2,834 (+1137.55%)
Mutual labels:  console
Pdd
📅 Tiny date, time diff calculator with piggybacked timers
Stars: ✭ 218 (-4.8%)
Mutual labels:  console
Vconsole
A lightweight, extendable front-end developer tool for mobile web page.
Stars: ✭ 14,017 (+6020.96%)
Mutual labels:  console
Rxterm
Functional reactive terminals in C++ ⚡⌨️
Stars: ✭ 226 (-1.31%)
Mutual labels:  console
.tmux
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Stars: ✭ 15,594 (+6709.61%)
Mutual labels:  console
Php Console Spinner
Colorful highly configurable spinner for php cli applications (suitable for async apps)
Stars: ✭ 225 (-1.75%)
Mutual labels:  console
Cypress Terminal Report
Better terminal and file output for cypress test logs.
Stars: ✭ 200 (-12.66%)
Mutual labels:  console
Filter Console
Filter out unwanted `console.log()` output
Stars: ✭ 203 (-11.35%)
Mutual labels:  console
Spectre.console
A .NET library that makes it easier to create beautiful console applications.
Stars: ✭ 4,226 (+1745.41%)
Mutual labels:  console
Htop
htop - an interactive process viewer
Stars: ✭ 3,076 (+1243.23%)
Mutual labels:  console
Qnapi
Qt-based, multi-engine, multi-platform subtitle downloader
Stars: ✭ 226 (-1.31%)
Mutual labels:  console
Lumail
A console-based mail-client with integrated Lua scripting support.
Stars: ✭ 187 (-18.34%)
Mutual labels:  console
Stratos
Stratos: Web-based Management UI for Cloud Foundry and Kubernetes
Stars: ✭ 209 (-8.73%)
Mutual labels:  console
S Tui
Terminal-based CPU stress and monitoring utility
Stars: ✭ 2,825 (+1133.62%)
Mutual labels:  console
Consolegameengine
.NET Console Graphics Engine
Stars: ✭ 226 (-1.31%)
Mutual labels:  console
Ronin
Ronin is a Ruby platform for vulnerability research and exploit development. Ronin allows for the rapid development and distribution of code, Exploits or Payloads, Scanners, etc, via Repositories.
Stars: ✭ 220 (-3.93%)
Mutual labels:  console

PRs Welcome License Build Status

Text-IO

Text-IO is a library for creating Java console applications. It can be used in applications that need to read interactive input from the user.

Features

  • supports reading values with various data types.
  • allows masking the input when reading sensitive data.
  • allows selecting a value from a list.
  • allows to specify constraints on the input values (format patterns, value ranges, length constraints etc.).
  • provides different terminal implementations and offers a Service Provider Interface (SPI) for configuring additional text terminals.

By default, Text-IO tries to use text terminals backed by java.io.Console. If no console device is present (which may happen, for example, when running the application in your IDE), a Swing-based terminal is used instead.

Example

TextIO textIO = TextIoFactory.getTextIO();

String user = textIO.newStringInputReader()
        .withDefaultValue("admin")
        .read("Username");

String password = textIO.newStringInputReader()
        .withMinLength(6)
        .withInputMasking(true)
        .read("Password");

int age = textIO.newIntInputReader()
        .withMinVal(13)
        .read("Age");

Month month = textIO.newEnumInputReader(Month.class)
        .read("What month were you born in?");

TextTerminal terminal = textIO.getTextTerminal();
terminal.printf("\nUser %s is %d years old, was born in %s and has the password %s.\n",
        user, age, month, password);

Click on the image below to see the output of the above example in a Swing-based terminal.

You can also use a web-based terminal, which allows you to access your application via a browser, as shown in the image below.

Useful links

Text-IO is available in Maven Central and JCenter.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].