2011-06-17 3 views
5

У меня есть раздел в моем графическом интерфейсе, который генерируется динамически в соответствии со списком объектов. Итак, для каждого объекта в этом списке я хочу создать JButton и связать сочетание клавиш.Как динамически вводить ключи к кнопкам?

Например:

for (String tag : testTags) { 
    new JButton(tag).setMnemonic(KeyEvent.VK_F1); 
} 

Как сделать код "setMnemonic (KeyEvent.VK_F1)" динамический в элегантный способ? Есть ли способ получить диапазон ключей автоматически, а затем использовать его на этой итерации?

Спасибо!

ответ

4

Action подходит для этого. См. How to Use Actions для получения дополнительной информации.

+3

В конечном счете, это лучший способ пойти. – vehk

+0

О, хорошо. Я действительно не знал о действиях. Это, похоже, решает мою проблему! Благодаря! – ktulinho

2
AbstractButton.setMnemonic(int) 

Просто перейдите по диапазону принятых значений.

+1

Нечто вроде: 'int key = 112; новый JButton (тег) .setMnemonic (ключ ++) '? – ktulinho

+0

в этом направлении, да –

2

Либо создать массив, содержащий ваши ключи с

int[] keys = {KeyEvent.VK_F1,KeyEvent.VK_F2,[...]}; 

или перебирать диапазоне клавиш F1-F12 (112 - 123)

int key = KeyEvent.VK_F1; 
for (String s : strings) { 
    new JButton(s).setMnemonic(key++); 
} 

Вы должны проверить, если ключ все еще находится в зоне действия (123 - F12).

Смежные вопросы