スイングはイライラする獣になる可能性があります。特に、Swingの設計者がSwingの設計に使用した仮定の「粒度に反する」アプリケーションを設計しようとしている場合はなおさらです。通常とはかけ離れたキーストロークに機能を割り当てる要件があります。昨日、問題は、 PageUpやPageDownのようなキーを「ナビゲーションキー」JComboBox
とJScrollPane
見なし、そのようなコンポーネントに焦点が当てられたときに他の用途に再マッピングしようとしたにもかかわらず、これらを取得したことでした。あなたはそれが悪いデザインだと言うかもしれませんが、それは私たちの要件です。これらの機能的な再マッピングを示すラベルが付いた特別なキーボードもあり、それらを満たす必要があります。それが人生だ。
今日、別の問題が発生しましたJTextPane
。フォーカスがあるときにF6キーをつかんでいるようです。他のコンポーネントに焦点が合っている場合、問題はありません。WTF?
したがって、私の質問は単純にこれです。各タイプのSwingコンポーネントが取得しInputMap/ActionMap
、アプリケーションレベルのプログラマーが従うように促される通常のシステムの外に配置するキーストロークに関するドキュメントはありますか?これは、にさらに依存し、LookAndFeel
で何が起こるMotif
かは、などで起こることとは異なる可能性があることを私は知っていますMetal
。それでも、このレベルにドリルダウンしても、このことはどこかに文書化されていますか?私はこれを知りたいので、一度にこれを学ぶのではなく、私の問題がどこにあるのかを最初に知ることができます。問題がどこにあるかを知っていれば、それらを回避する方法を知っています。しかし、私はソースコードとJavaドキュメントを持っていて、どこを見ればよいのかわかりません。