2012-04-15 14 views

答えて

4

Mac OS Xのシステムとアプリケーションのメニューとは異なり、編集メニューは完全にプログラムの下にありますが、現在選択されているJTextFieldは影響を受けます。それを作成して、それを適切なActionで設定します。javax.swing.text.TextActionで定義された事前定義されたサブクラスは、ha彼らが焦点を当てたコンポーネントを認識しているので、ndy。関連資料Q&Aおよびexampleも参照してください。例えば、

Action pasteAction = new DefaultEditorKit.PasteAction(); 
JMenuItem pasteItem = new JMenuItem(pasteAction); 
JButton pasteButton = new JButton(pasteAction); 

補遺:完全にはMac OS Xにあなたの[編集]メニューを統合するには、here示すのいずれかの方法を使用して、あなたのメニューを使用して、オペレーティング・システムに伝える必要があります。プラットフォーム依存の修飾キーを取得するには、を使用します(here)。最後に、Charles BellのHTMLDocumentEditorは、text actionsを使用する例です。

+0

申し訳ありませんが、あなたが言っていることは本当に分かりません。この場合、新しいJMenuItemとJButtonにActionをアタッチしていますが、AppleアプリケーションのCopy and Pasteメニューにはリンクされていません。 –

+2

これも[answer](http:// stackoverflow JavaのメニューをMacのメニューバーに移動する方法については、.com/a/8956715/230513を参照してください。この[anwser](http://stackoverflow.com/a/10161155/230513)ではメニューアクセラレータについて説明しています。 – trashgod

+0

あなたが家で魔法の箱を1つ持っていたように見えます。そこから、この素晴らしい例をここに持ってきます:-)、私に送ることができます:-) –