Итак, вы хотите настроить визуализацию JButton?
Во-первых, для комплексного решения вы можете взглянуть на существующий LnF, такой как Вещество (очевидно, это слишком мощное решение для ваших нужд, однако оно может дать вам вдохновение).
Тогда, если вы хотите решить это самостоятельно, вам придется переопределить метод paintComponent.
Для этого первым ходом является подкласс JButton
.
Затем в своем подклассе начните с переопределения метода paintComponent(Graphics)
.
Обратите внимание, что если все, что вам слишком сложно, вы также можете взглянуть на метод setBorderPainted(boolean)
.