Swing でコンポーネントの多くのキー マッピングのアクションを定義する最良の方法は何ですか?
Swing で独自の Text View を作成し、多数のキーのアクションを定義したいと考えています。私が現在行っている方法(これまでのところ約10個のキー)は次のとおりです。
ActionMap actionMap = DBDocument.this.getActionMap();
int condition = JComponent.WHEN_FOCUSED;
InputMap inputMap = DBDocument.this.getInputMap(condition);
String tab = "tab";
actionMap.put(tab, new AbstractAction() {
private static final long serialVersionUID = 1L;
@Override
public void actionPerformed(ActionEvent ap) {
if(mDocumentModel != null){
//Do some stuff here
}
}
});
これは明らかに、キーバインディングを定義するための非常に冗長な方法です。理想的には、多くの可能性を扱うアクションを定義できます ([AZ] または [0-9] など)。OpenJDK で定義を検索しましたが、あまりうまくいきませんでした。