Skip to content

A new Look-and-Feel (LaF) for Java, which allows for a grid-based display of Unicode characters with custom fore/background colors, font sizes, and pseudo-shaders. Originally designed for developing Roguelike/lite games.

License

Notifications You must be signed in to change notification settings

Valkryst/VTerminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java CI with Maven

This project does not require frequent updates as it is a look and feel for Swing, which is a stable framework. You can assume it works unless otherwise stated.

Table of Contents

Links

Installation

VTerminal is hosted on the JitPack package repository which supports Gradle, Maven, and sbt.

Gradle Gradle

Add JitPack to your build.gradle at the end of repositories.

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

Add VTerminal as a dependency.

dependencies {
	implementation 'com.github.Valkryst:VTerminal:2024.11.14'
}

Maven Maven

Add JitPack as a repository.

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Add VTerminal as a dependency.

<dependency>
    <groupId>com.github.Valkryst</groupId>
    <artifactId>VTerminal</artifactId>
    <version>2024.11.14</version>
</dependency>

Scala SBT Scala SBT

Add JitPack as a resolver.

resolvers += "jitpack" at "https://jitpack.io"

Add VTerminal as a dependency.

libraryDependencies += "com.github.Valkryst" % "VTerminal" % "2024.11.14"

Media

Please note that all screenshots and videos will look worse than if you were to run the example GUI yourself. This is primarily due to compression.

Screenshots

Videos

Supported Components

If there is a component that you'd like VTerminal to support, or if you're experiencing any issues with the supported components, then please feel free to open an issue.

Enhanced Components

Unless otherwise specified, the following components have an overridden paintComponent method which ensures the component is rendered at a higher quality than its default counterpart.

The following image shows a JEditorPane and a VEditorPane side-by-side.

Unfortunately, I was unable to find a fool-proof way of ensuring that all components render with high-quality RenderingHints. If a method is ever discovered, then these classes may be depreciated and/or removed from this repository.

Credits & Inspiration