どこでコードを見つけることができますか、JMenuを拡張するカスタムクラスを使用してpaintComponentメソッドのJMenuを複製するコードをどのように作成しますか?子のpaintComponentにJMenuをレプリケート
私はjdkを見てきましたが、自分のクラスまたはそのいずれかの親でJMenuを描画するコードを見つけることができません。
テキストとアイコンの配置コードが必要です。
どこでコードを見つけることができますか、JMenuを拡張するカスタムクラスを使用してpaintComponentメソッドのJMenuを複製するコードをどのように作成しますか?子のpaintComponentにJMenuをレプリケート
私はjdkを見てきましたが、自分のクラスまたはそのいずれかの親でJMenuを描画するコードを見つけることができません。
テキストとアイコンの配置コードが必要です。
軽量スイングコンポーネントのペイントは、プラグイン可能なルックアンドフィールの実装に委譲されます。このため、JMenu
にペイントコードが表示されません。
JMenu
の場合、ペイントを担当するクラスはjavax.swing.plaf.MenuItemUI
の子になります。正確にはあなたが使用しているL & Fに依存します。たとえば、WindowsのL & Fはcom.sun.java.swing.plaf.windows.WindowsMenuUI
にメニューの絵を委任するだろうあなたの目標を達成するために、おそらく最も簡単な方法は、あなたが拡張したい特定のL & Fの実装を見ている、そしてpaintComponent()
メソッドをオーバーライドあなたのカスタムペインティングを実行します。
「Performing Custom Painting」を見て、カスタムコンポーネントをペイントする方法を説明してください。