© Real_life_Studio/Shutterstock.com
Zehn Must-have-Java-Bibliotheken

Nützlich für den Alltag


Java-Entwickler können ein Lied davon singen: heruntergeladene Bibliotheken, die nicht funktionieren oder das Programm zum Absturz bringen. Andererseits kommen Entwickler um gewisse Java-Bibliotheken nicht herum, wenn sie Wert auf Komfort legen.

Es kann nicht schaden, über den Tellerrand zu blicken, um einen eleganteren Code zu schreiben. Denn reiner Java-Code kann verglichen mit Java-Bibliotheken zum Teil umständlich sein. Aus diesem Grund dreht sich hier alles um zehn Java-Bibliotheken, die das Coden erleichtern.

Apache Commons

Apache Commons ist eine Sammlung mehrerer Komponenten, die von der Apache Software Foundation entwickelt werden [1]. Zu den bekanntesten Komponenten zählt sicherlich Apache Commons Lang, die das Basispaket Java.lang erweitert. Darin befinden sich Klassen, um die Zeit und das Datum zu formatieren (apache.lang.time). Eine weitere beliebte Klasse nennt sich StringEscapeUtils. Damit können Strings mit Escape-Zeichen versehen werden. Die Klasse StringUtils stellt hingegen mehrere Methoden zur Bearbeitung von Strings zur Verfügung.

Einen Haufen Zeit erspart die Apache-Commons-Configuration-Komponente. Damit lassen sich im Nu Konfigurationsdateien erstellen und mit Schlüssel-Wert-Paaren versehen. Auch das Parsen der Konfigurationsdateien lässt sich leicht bewerkstelligen.

Lohnenswert ist zudem die Apache-Commons-Crypto-Bibliothek, mit der sich mit wenig Aufwand und Code Variablen ver- oder entschlüsseln lassen. Eine weitere empfehlenswerte Komponente ist Apache Commons Numbers. Sie beinhaltet mehrere Klassen, um Zahlen gemäß der Zahlenart zu formatieren. So ermöglicht die Klasse Complex das Erstellen von komplexen Zahlen, während die Klasse Fraction das Rechnen mit Brüchen erlaubt.

CalendarFX

Wer einen Terminplaner für eine Arztpraxis oder ein Ticketsystem implementieren möchte, der wird sich sicherlich Gedanken um die Ausgabe von Kalendern und um das Festlegen eines Termins machen. Hierbei kann das Framework CalendarFX, das sich in eine JavaFX-Anwendung einbinden lässt, nützlich sein (Abb. 1) [2]. Die CalendarFX-Bibliothek wird zurzeit in der Version 8 angeboten.

minosi_libs_1.tif_fmt1.jpgAbb. 1: Das CalendarFX Framework ermöglicht dem Anwender eine interaktive Sitzung

Google Guava

Ähnlich wie Apache Commons hat sich Google das Ziel gesetzt, die Effizienz bei der Produktion zu steigern. Mit Google Guava lässt sich der Code reduzieren sowie die Lesbarkeit und Geschwindigkeit beim Entwickeln steigern. Die Guava-Bibliotheken verfügen über Stringverarbeitung, Collections, Graphen, Hashcodes, Exception Handling, Multi-Threading sowie weitere Bibliotheken. Aktuell ist Google Guava in der Version 30.0 verfügbar [3].

Apache Log4j 2

Zu den fortgeschrittenen Logging-Bibliotheken zählt Log4j 2 [4]. Deren Leistung kann sich sehen lassen. Denn je mehr Threads der Computer hat, auf dem die Anwendung läuft, desto mehr kann geloggt werden. Log4j 2 gibt es derzeit in der Version 2.14.0. Listing 1 zeigt, wie Log4j 2 eine Klasse loggt. Darüber hinaus verfügt Log4j 2 über eine Debug-Funktion.

Listing 1

import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class Sailboat { private static final Logger logger = LogManager.getLogger(Sailboat.class); public void move () { logger.info("sailing"); } }

JFXtras

Bei JFXtras handelt es sich um eine Bibliothek für die JavaFX-Anwendung [5]. Diese Bibliothek stellt unter anderem Steuerelemente wie Accordion sowie diverse Datum- und Zeit-Picker zur Verfügung. Daneben gibt es Anzeigenelemente, die für ein Dashboard nützlich sein können. In Listing 2 wird eine JavaFX-Anwendung erstellt, die die Klasse MainView startet.

Listing 2

import javafx.application.Application; import javafx.stage.*; public class App extends Application { public static void main (String[] args) { launch(args); } public void start(Stage primaryStage) { MainView mainView = new MainView(); mainView.show(primaryStage); } }

Das Accordion (Abb. 2) wird in der Klasse MainView wie ein anderes JavaFX-Element vom Typ Node erzeugt und anschließend im VBox-Container gespeichert (Listing 3).

Listing 3

import javafx.stage.*; import javafx.scene.*; import javafx.scene.layout.*; import javafx.scene.control.*; import jfxtras.scene.control.AccordionPane; public class MainView { private AccordionPane accordionPane; private VBox pane; public MainView() { setRootNode(); three(); createWindow(); } public void createWindow() { this.pane = new VBox(10,this.accordionPane ); } public void setRootNode() { this.accordionPane = new AccordionPane(); this.accordionPane.setPrefSize(800.0, 600.0); } public void three() { this.accordionPane.addTab("test1", new Label("test 1")); this.accordionPane.addTab("test2", new Label("test 2")); this.accordionPane.addTab("test3", new Label("test 3")); } public void show(Stage stage) { Scene scene = new Scene(this.pane); stage.setTitle("jfxtras"); stage.setScene(scene); stage.setResizable(true); stage.setMaximized(true); stage.initStyle(StageStyle.TRANSPARENT); stage.show(); } }

BootstrapFX

Bootstrap gibt es nicht nur für Webseiten, sondern auch für JavaFX-Anwendungen. So beinhaltet Bootstr...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang