>>620
一度落ち着いてAPI ドキュメントを読め。
>指定されたコンポーネントのレイヤ属性を設定し、レイヤ内で一番下のコンポーネントとします。
>親に追加する前に呼び出す必要があります。
setLayer の意味を間違えてる上に、add してから呼び出してる。

まずは setLayer は使わないで

layerPane.add (a, 1);
layerPane.add (b, 2);
getContentPane ().add (layerPane);

したらどう?bが表示される?

その後で opaque について調べてみるとか。