JPanel と Canvas はどちらも同じレベルのコンポーネントであるため、解決策はおそらくある種の「ハック」になります。この質問は、軽量コンポーネントを重量キャンバスに追加できないことを示しています (JPanel を透明にしたい)。
これが不可能な場合、透明なコンポーネントを配置することはできますか? また、コンポーネントにSwingコンポーネントを追加することは可能ですか(たとえそれが悪いとしても、動作する必要があります)。そして、実際にキャンバス上に配置するにはどうすればよいでしょうか (どちらも同じレベルのコンポーネントであるため)。
注: 私は実際のアプリでこのようなことをすることはありません。この場合に必要なだけです。