2011-06-17 15 views
5

मेरे पास मेरे जीयूआई में एक अनुभाग है जो वस्तुओं की सूची के अनुसार गतिशील रूप से उत्पन्न होता है। तो, उस सूची में प्रत्येक ऑब्जेक्ट के लिए मैं एक जेबटन बनाना चाहता हूं और एक कीबोर्ड शॉर्टकट जोड़ना चाहता हूं।बटनों को गतिशील रूप से चाबियाँ कैसे करें?

उदाहरण के लिए:

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; नया जेबटन (टैग) .setMnemonic (कुंजी ++) '? इन लाइनों के साथ – ktulinho

+0

, हाँ –

2

या तो

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

के साथ अपने कुंजी युक्त एक सरणी बना सकते हैं या एफ 1-F12 कुंजियों की सीमा पर पुनरावृति (112 - 123)

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

आप की क्या ज़रूरत है अगर कुंजी जाँच करने के लिए अभी भी सीमा में है (123 एफ 12 है), यद्यपि।

संबंधित मुद्दे