PopUpButtonのポップアップにドロップシャドウをつける

以前から気になっていたバグですが、PopUpButtonで表示されるポップアップウィンドウに
ドロップシャドウを指定しても、1ドットで切れてしまいます。
正確に言うと、開いてるエフェクト中は表示されていますが、完了後にドロップシャドウの分の
大きさを考慮しないためシャドウがほとんど表示されません。

これを避けるには、PopUpButtonのopenイベントでポップアップするコンポーネント
filter=[new DropShadowFilter()]を設定します。
閉じる瞬間にゴミが残るため、closeイベントでも同様にfilter=[]を設定します。

[補足]

と、ひとつ大きな欠点が…。
背景にアルファを設定すると、その後ろのシャドウが透けて見えてしまいます。

思案したあげく、DropShadowFilterは使わないことにしました。
PopUpの一番下のコンポーネントとしてVBoxなどを、陰がでる分だけ大きくして、alpha=0で配置すると、
結果としてもっとも自然に表現できるようです。


もう一つ。

PopUpButtonのポップアップ機能のみを使って、本体のボタンは異なるコンポーネントを使いたいときがありますよね。
単なるボタンやラベルでいいのに、ポップアップの三角アイコンが邪魔で、ButtonSkinでもうまくレイアウトしてくれません。
そういうときには、見えないPopUpButtonを貼り付けてやり、見えるほうのコンポーネントのclickイベントでPopUpButton.open()を呼び出すようにすると、Proxyパターンでらくらく実装することが出来ます。