netnewsで同様の議論が...
ttp://coding.derkeiler.com/Archive/Java/comp.lang.java.gui/2004-09/0759.html

なんでそういう仕様になっているのかはよく分かりませんが、

・JButtonのsetEnabledをオーバーライドし、setEnabled内部からprotectedなdisableEvents()を呼ぶ
ようにする

とかいう方法で解決してたみたいです。

が、そんなめんどくさいことするのもアレなんで、イベントリスナ内部でボタンのisEnabled()をチェック
して、falseなら何もしない、とかいうのが簡単でいいんじゃないですかね?