Вы не можете переопределить «рисование» в базовых элементах управления AWT, и при этом они все еще работают правильно, потому что, например, в Button большая часть поведения рисования выполняется одноранговыми классами (например, WButton в Windows). ). Я написал много элементов управления AWT для OS / 2 JVM еще в 1.1.x, и я не могу представить, что это работает так, как вы этого хотите, если с AWT все не сильно изменилось (маловероятно).
Если вы хотите по-настоящему контролировать рисование в таких ситуациях, вам нужно либо свернуть свое собственное, либо перейти с помощью кнопки Swing, а затем исследовать «компонент пользовательского интерфейса» (объект делегата, отвечающий за рисование элемента управления, среди прочего - часть «внешний вид» использовался в то время).
По сути, элементы управления AWT являются «родными», то есть там есть настоящая кнопка Windows и вокруг нее обернут некоторый код Java. Элементы управления Swing - это «чистая Java»; но делегировать большую часть их поведения и почти весь их внешний вид контроллерам пользовательского интерфейса в пакетах внешнего вида.