キーバインディングで修飾子を使用する方法は理解していますCTRL_DOWN_MASK + some key
が、特定のアクションをコントロール、文字 (つまり「W」)、および上矢印がすべて押されたときにバインドできるようにしたいと考えています。のようなものCTRL_DOWN_MASK + some key + Up Arrow
。
これを使用して、特定のサウンド クリップの音量を変更します。したがって、CTRL_DOWN_MASK + W + Up Arrow
すべて押すと、W JButton に割り当てられたサウンド クリップの音量が上がり、サウンド クリップCTRL_DOWN_MASK + W + Down Arrow
の音量が下がると、音量が下がります。
public void bindKey(JPanel base)
{
base.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(key, InputEvent.CTRL_DOWN_MASK),"Volume"+key);
base.getActionMap().put("Volume"+key, new AbstractAction(){
public void actionPerformed(ActionEvent e)
{
//if(Up Arrow is being pressed.)
setGain(currentGain() + 1.0f);
//if(Down Arrow is being pressed.)
setGain(currentGain() - 1.0f);
}
});
}