у вас есть три варианта
1) каждый пользовательский Look and Feels имеет орудия Rounded JComponents
, это самый безопасный способ, как сделать это с пользой и, возможно, правильно, часть из них дает превосходный вывод на Java Swing GUI
и с длинными Bug
история, я бы предложил использовать Substance
Look & Feel, но очень, очень чувствителен к EDT
2) вы можете переопределить целое (Пользовательский Look and Feels
уже сделал это) ButtonUI , но ваш UI_Delegate
будет чувствителен к Look and Feel
и Native_OS
, что означает пример, по которому я публикую ссылку, работает на Windows
платформе с Metal Look and Feel
, если вы хотите создать крестик Platform
и крестик Look & Feel
без учета чувствительности, то вы должны преодолеть все возможные Platforms
и Look and Feels
3) создать JComponent
с помощью Rounded Borders
, заполнить область внутри, например, GradientPaint
, а затем добавить MouseListener
, MouseMotionListener
, KeyListener
или лучше написать собственный KeyBindings
и создать собственный Model
во избежание совпадения между подкладкой Listeners
, тогда будет ваш Custom JButton
крест Platform
и крест Look & Feel
нечувствительный
все .... до вас, много удачи