This is a decimal to roman numeral conversion program. It accepts decimal
numbers in the range 1 to 3999. The Romans didn't build their empire with
only this small range of numbers, but this restricted range is used
because their extended notation doesn't translate well into ASCII characters,
for example, bars over numbers (meaning multiply by 1000) and a backward C were
common, but many other symbols have been used.
And contrary to popular opinion, they did have zero,
written as N (nullus or nihil) or as a dash. And there were variations, so
you might find other possibilities.
The advantage of the
hindu-arabic number system that we now use is the positional power notation,
which makes computation vastly easier.

This program illustrates a few things:

A simple GUI.

Separation of the user interface from the logic / model.
In this case the logic is a static method that converts from
an internal integer to a roman numeral string.

A static inner value class is used in the logic class.
This could be replaced with parallel arrays.