
Suština problema leži u činjenici da je po defaultu izlaz terminala često jednostavan i nema nikakvu vrstu razlike u boji. Ovo može otežati programerima da brzo interpretiraju izlaz tokom otklanjanja grešaka ili testiranja. Srećom, postoji rješenje za ovaj problem korištenjem ANSI izlaznih kodova, koji omogućavaju prilagođavanje boja terminala.
Za početak, istražimo ANSI escape kodove i kako se oni mogu koristiti za promjenu boja terminala u Javi. Ovi escape kodovi su u suštini nizovi znakova koji nalažu terminalu da izvrši određene radnje, kao što je promjena boje teksta. Da biste koristili ove kodove, oni moraju biti ugrađeni u tekst koji će biti prikazan u terminalu.
public class TerminalColors {
public static final String ANSI_RESET = "33[0m";
public static final String ANSI_RED = "33[31m";
public static final String ANSI_GREEN = "33[32m";
public static void main(String[] args) {
System.out.println(ANSI_RED + "This is red text" + ANSI_RESET);
System.out.println(ANSI_GREEN + "This is green text" + ANSI_RESET);
}
}
U kodu iznad definiramo tri ANSI izlazni kodovi: jedan za resetiranje boje terminala, jedan za promjenu boje u crvenu, a drugi za zelenu. Zatim koristimo ove kodove unutar teksta koji se ispisuje na konzoli da u skladu s tim promijenimo boje.
Alternativne biblioteke za boje terminala
Iako korištenje ANSI escape kodova dobro funkcionira za osnovne prilagodbe boja terminala, neke biblioteke mogu učiniti ovaj proces efikasnijim i praktičnijim.
- Jansi: Jansi je popularna Java biblioteka koja pruža API jednostavan za korištenje za rad sa ANSI escape kodovima. Ova biblioteka automatski otkriva i onemogućuje ANSI podršku na platformama koje je ne podržavaju, osiguravajući konzistentno iskustvo na različitim sistemima.
- RichTextFX: RichTextFX je JavaFX biblioteka koja nudi moćan i fleksibilan način za stilizovanje teksta u JavaFX aplikaciji, uključujući okruženja nalik terminalu. Ova biblioteka omogućava nevjerovatno bogat i napredan stil, uključujući prilagođene fontove, boje i još mnogo toga.
Implementacija boja terminala u JavaFX aplikacijama
Za programere koji rade sa JavaFX-om, korišćenje boja terminala može biti malo izazovnije, jer se ne primenjuje standardni pristup System.out.println. Međutim, još uvijek je moguće postići prilagođavanje boja poput terminala.
Da biste to učinili, možete koristiti RichTextFX biblioteku i kreirati prilagođenu kontrolu, kao što je a StyledTextArea, za prikaz vašeg izlaza. Ova kontrola zatim može raščlaniti ANSI izlazne kodove i primijeniti odgovarajuće stilove.
Ukratko, boje terminala igraju ključnu ulogu u poboljšanju čitljivosti i korisničkog iskustva u svijetu programiranja. Koristeći ANSI izlazne kodove ili jednu od različitih dostupnih biblioteka, možete lako implementirati prilagođavanja boje terminala u svoje Java aplikacije kako biste poboljšali otklanjanje grešaka i testiranje koda. Upamtite, dobro dizajnirano korisničko sučelje može napraviti razliku u uspjehu vašeg projekta, stoga nemojte oklijevati da koristite boje terminala u svoju korist.