In this short wiki we will learn how to use the Figlet API to generate an AsciiArt Banners in Java applications. We will also show how to emed a sample example in a JBang Script.
Figlet is a command-line tool which helps you to create ascii banners like this:
_ _ _ _ __ __ _ _ _ | | | | ___ | || | ___ \ \ / / ___ _ __ | | __| || | | |_| | / _ \| || | / _ \ \ \ /\ / / / _ \ | '__|| | / _` || | | _ || __/| || || (_) | \ V V / | (_) || | | || (_| ||_| |_| |_| \___||_||_| \___/ \_/\_/ \___/ |_| |_| \__,_|(_)
Let’s see how to create a sample banner like that in a minute!
Configuring and running Figlet
In order to use Figlet API, include the following dependency in your project:
<dependency> <groupId>com.github.lalyos</groupId> <artifactId>jfiglet</artifactId> <version>0.0.9</version> </dependency>
On the other hand, if you want to generate Banners in a JBang script, all you need is to add the proper //DEPS to your script. For example:
//usr/bin/env jbang "$0" "$@" ; exit $? //DEPS com.github.lalyos:jfiglet:0.0.9 import com.github.lalyos.jfiglet.FigletFont; import java.io.IOException; public class PrintBanner { public static void main(String[] args) throws IOException { String asciiArt = FigletFont.convertOneLine("Hello World!"); System.out.println(asciiArt); } }
Then, run the jbang script as follows:
jbang PrintBanner.java
Here’s your beautiful Banner:
Using a Custom Font in your Banners
You can also use custom Fonts to display your banners. Some example fonts are available in JFiglet repository ( look for .flf
files ). Here is a sample script which uses a custom Font in the Banner:
//usr/bin/env jbang "$0" "$@" ; exit $? //DEPS com.github.lalyos:jfiglet:0.0.9 import com.github.lalyos.jfiglet.FigletFont; import java.io.IOException; public class PrintBanner { public static void main(String[] args) throws IOException { String asciiArt = FigletFont.convertOneLine("classpath:/slant.flf", "Hello World!"); System.out.println(asciiArt); } }
Then, see the new Font in the output:
jbang PrintBanner.java [jbang] Building jar for PrintBanner.java... __ __ ____ _ __ __ ____ / / / /__ / / /___ | | / /___ _____/ /___/ / / / /_/ / _ \/ / / __ \ | | /| / / __ \/ ___/ / __ / / / __ / __/ / / /_/ / | |/ |/ / /_/ / / / / /_/ /_/ /_/ /_/\___/_/_/\____/ |__/|__/\____/_/ /_/\__,_(_)
Conclusion
In this tutorial, we explored how to use the jfiglet
library to create banners in Java. We started by adding the jfiglet
dependency to our Maven project, which provides a convenient way to generate banners using ASCII art fonts. We then learned how to use the FigletFont
class to load a Figlet font from the classpath and create a FigletFont
object, which can be used to convert text into a banner using the convert
method. We also learned how to customize the appearance of our banners by setting the banner width and selecting a different font.