[英]Adding a global keyboard shorcut to dynamically added buttons
設置動態添加按鈕的快捷方式時遇到一些困難。 按鈕是動態添加的面板。 我想為這些按鈕添加鍵盤快捷鍵,如下所示:
ctrl+1 -> button1
ctrl+2 -> button2
etc.
按鈕是通過算法添加的,所以我不知道它們中會有多少(最小0,最大5)。 我想用Global(在整個面板中工作)鍵盤快捷鍵調用這些按鈕。 我想知道如何實現這一點,當我的按鈕上的文本動態地像這樣:
getNewAmountQueryButton(label)
這使得:
private JButton getNewAmountQueryButton(final Decimal label) {
JButton temp = new JButton(label.toString());
...
我嘗試添加keylistener,但只有當我專注於按鈕時它才有效:
button.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(final KeyEvent e) {
@Override
public void run() {
if ((e.getKeyCode() == getKeyCode()) && ((e.getModifiers() & InputEvent.CTRL_MASK) != 0)) {
model.setAmount(model.getAmount().add(label));
field().selectAll();
refreshDisplay();
}
}
});
});
你知道我怎么能這樣做嗎? 我想將監聽器添加到頂級面板,但是因為我使用了model.setAmount(model.getAmount().add(label));
刷新一些textField是不可能的,因為缺少這個label
參數。
任何想法? 提前致謝!
建議您使用Key Bindings 。
基本上,他們不會遇到與KeyListeners
相同的焦點問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.