java.awt.Component.getName()
क्या है? नेटबीन के साथ बनाए गए अनुप्रयोगों में यह हमेशा null
लगता है। मैं इसमें प्रति घटक कुछ मदद पाठ संग्रहीत करने के बारे में सोच रहा हूं - मैं टूलटिप का उपयोग नहीं करना चाहता, मेरे पास एक और पैनल है जहां मैं सहायता टेक्स्ट दिखाऊंगा।java.awt.Component.getName() और setName() के लिए क्या उपयोग किया जाता है?
उत्तर
घटक.सेटनाम (..) जेडीके में अधिकतर रूप से देखने और महसूस करने के लिए कार्यान्वयन कक्षाओं को प्रत्येक घटक के लिए आईडी-जैसे स्ट्रिंग सेट करने के लिए उपयोग किया जाता है, उदाहरण के लिए BasicOptionPaneUI इसे अपना नाम "OptionPane.button" पर सेट करने के लिए बटन घटक पर कॉल कर सकता है।
getNring() विधियों में एक समग्र/मूल घटक के अंदर और एडब्ल्यूटी और स्विंग डीबग लॉगिंग कोड के अंदर बाल घटकों के नाम सेट करते समय getNring() विधियों में उपयोग किया जाता है। मुझे दृढ़ता से संदेह है कि getName() विधि का उपयोग कुछ एडब्ल्यूटी/स्विंग परीक्षण ढांचे द्वारा भी किया जाता है।
इसलिए यदि आप getName() के उपर्युक्त उपयोगों पर निर्भर नहीं हैं, तो आप इसे अपने सहायता संदेशों के लिए उपयोग करने का प्रयास कर सकते हैं, हालांकि मैं इसकी अनुशंसा नहीं करता।
शायद आपको अपने डिज़ाइन पर पुनर्विचार करना चाहिए? एक हैशपैप में कुछ लुकअप करने के लिए नाम का उपयोग करें जो संसाधन बंडल से सहायता टेक्स्ट लोड करता है?
मैंने इसे ढांचे द्वारा किसी भी चीज़ के लिए उपयोग नहीं किया है। यह उपयोगी है यदि आपके पास एक विधि में घटकों को पारित किया जा रहा है ताकि आप उनका नाम पूछ सकें कि उन्हें कैसे संभाला जाए। साथ ही, कई UI परीक्षण ढांचे का उपयोग परीक्षण स्क्रिप्ट में नाम से घटकों को संदर्भित करने के लिए करने के लिए किया जाता है। मुझे कोई कारण नहीं दिख रहा है जिसका उपयोग आप सहायता पाठ के लिए नहीं कर सकते हैं।
हम रोबोट/यूआई परीक्षण के लिए इसका इस्तेमाल करते हैं है। –
हम इसे रोबोट/यूआई परीक्षण के लिए भी उपयोग करते हैं। – Jason
इसके अलावा, मुझे लगता है कि java.awt.Component एक्स में एक हेवीवेट ऑब्जेक्ट है, xwininfo और xwd जैसे प्रोग्राम आपको नाम से निर्दिष्ट करने की अनुमति दे सकते हैं।
मैंने अभी इसे एक जेएफआरएएम के साथ करने की कोशिश की है, और सेटनाम ने विंडो का नाम सेट नहीं किया है, विंडो को कन्स्ट्रक्टर में पारित स्ट्रिंग द्वारा नामित किया गया था। लेकिन मेरे पास परीक्षण करने के लिए कोई भी एकमात्र उदाहरण कोड नहीं है, इसलिए मैंने ऊपर जो लिखा है उसके बारे में गलत हो सकता है।
हरमन लिंटवेल्ट का जवाब मेरे ऐप के लिए सही है।
मैंने HelpText.properties नामक एक संसाधन बंडल बनाया है। इसमें नाम = मूल्य जोड़े हैं। मैं नाम = मूल्य जोड़ी से "नाम" के साथ अपने प्रत्येक घटक को सेटनाम() डी सेट करता हूं। मैंने फिर सभी माउस आंदोलनों को कैप्चर करने के लिए फ्रेम के getGlassPane() का उपयोग किया। जब कोई माउस किसी नामित घटक पर चलता है, तो यह बंडल में नाम देखता है, उपलब्ध होने पर सहायता प्रदर्शित करता है और माउस घटक को वास्तविक घटक के साथ आगे बढ़ाता है।
- ग्लास फलक का उपयोग करने के लिए here देखें।
- जनवरी न्यूमार्च का web page on using resource bundles बहुत उपयोगी था।
- केविन रिफ की response ने मुझे यह बताया कि मेरा संसाधन बंडल कैसे ढूंढें।
व्हील। चारों ओर डूबने के केवल 2 दिन लायक है। मैं अंत में जावा में उपयोग करना शुरू कर रहा हूं :)
खुशी है कि मैं मदद कर सकता हूं। जावा का आनंद लें –
component.getName()
विधि ज्यादातर श्रोताओं के साथ उपयोग की जाती है। यदि आप किसी घटक का नाम सेट करते हैं (component.setName(name)
) तो आप उस विशिष्ट घटक को Listener
की विधि से कॉल कर सकते हैं।
उदाहरण:
public void someMethodOfsomeListener(SomeEvent e){
if (e.getComponent().getName().equals(component.getName())
//do stuff...
}
बारे में पता स्पष्ट रूप से घटक के नाम सेट करने के लिए है कि आप हो सकता है, अन्यथा यह null
वापस आ जाएगी।
मैं श्रोताओं को एक ही कक्षा में अलग करने के लिए इसका उपयोग करता हूं। मुझे एक पैरामीटर के रूप में प्राप्त होता है जिसमें मेरा ऑब्जेक्ट होता है। एडलिस्टर कंटेनर के रूप में नहीं बल्कि उस ऑब्जेक्ट वाले वर्ग के रूप में। पहले नाम सेट करने की नोक के लिए धन्यवाद विवाविनाइल। यह उपयोगी और काम किया गया था।
यह है कि मैं क्या getName (का उपयोग करें) के लिए:
Frame[] frames = JFrame.getFrames();
for (int i = 0; i < frames.length; ++i) {
//get the frame
Frame frame = frames[i];
if (frame.getName().equals(frameName)) {
//make the frame visible
frame.setVisible(true);
//focus the frame
frame.requestFocus();
//found
return;
}
}
FEST testcases में यह पहचान करने के लिए एक घटक के नाम का उपयोग करता है।
मैं नाम प्राप्त करने के लिए कई जवाब खोज की है और मुझे लगता है कि यह केवल आसान समाधान
public static void main(String[] args) {
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
String name = actionEvent.getSource().toString();
UserReaction(ObjectName.getComponentVariableName(name), "null");
}
};
Button calculate_btn = new Button("Calculate");
calculate_btn.setName("Calculate");
calculate_btn.addActionListener(actionListener);
}
private static void UserReaction(String objectName) {
if (objectName.equals("Calculate")) {
//do something;
}
}static public String getComponentVariableName(String name) {
String res = (name.substring(name.indexOf("[") + 1));
res = res.split(",")[0];
return res;
}
यह सवाल का जवाब नहीं देता है? –
- 1. + = के लिए क्या उपयोग किया जाता है?
- 2. @JsonProperty प्रॉपर्टी का उपयोग कब किया जाता है और इसके लिए क्या उपयोग किया जाता है?
- 3. AssemblyInfo.cs के लिए उपयोग किया जाता है?
- 4. पाइथन के वाणिज्य() के लिए क्या उपयोग किया जाता है?
- 5. पाइथन के लिए क्या उपयोग किया जाता है?
- 6. डिस्पिंटरफेस घोषणाओं के लिए क्या उपयोग किया जाता है?
- 7. phonestateintentreceiver.notifyPhoneCallState के लिए क्या उपयोग किया जाता है?
- 8. COMDAT अनुभाग के लिए क्या उपयोग किया जाता है?
- 9. एलडीएपी के लिए क्या उपयोग किया जाता है?
- 10. 'char' कीवर्ड के लिए क्या उपयोग किया जाता है?
- 11. स्क्लाइट के लिए क्या उपयोग किया जाता है?
- 12. ऐप डोमेन के लिए क्या उपयोग किया जाता है?
- 13. iframe के लिए क्या उपयोग किया जाता है?
- 14. GlVertexAttrib (बनाम glVertexAttribPointer) के लिए क्या उपयोग किया जाता है?
- 15. "स्ट्रिप" (जीसीसी आवेदन) के लिए क्या उपयोग किया जाता है?
- 16. std :: vector :: front() के लिए क्या उपयोग किया जाता है?
- 17. टेस्ट-एंड-सेट के लिए क्या उपयोग किया जाता है?
- 18. क्या java.lang.reflect.Method.is ब्रिज() के लिए उपयोग किया जाता है?
- 19. "जावा वेब स्टार्ट" के लिए क्या उपयोग किया जाता है?
- 20. पाइथन कीवर्ड "साथ" के लिए क्या उपयोग किया जाता है?
- 21. स्वयं => के लिए क्या उपयोग किया जाता है?
- 22. #pragma के लिए क्या उपयोग किया जाता है?
- 23. वैश्विक.एक्सएक्स के लिए क्या उपयोग किया जाता है?
- 24. ids.xml के लिए क्या उपयोग किया जाता है?
- 25. सी ++ में, नेमस्पेस के लिए क्या उपयोग किया जाता है?
- 26. ग्रिडव्यू क्यों है: सच के लिए उपयोग किया जाता है और इसका क्या अर्थ है?
- 27. फ़ंक्शन पॉइंटर्स के लिए क्या उपयोग किया जाता है, और मैं उनका उपयोग कैसे करूं?
- 28. जेएनआई में "यह काम करें" क्या है और इसके लिए इसका क्या उपयोग किया जाता है?
- 29. एंड्रॉइड कीस्टोर फ़ाइल क्या है, और इसके लिए इसका क्या उपयोग किया जाता है?
- 30. एक परिमित राज्य मशीन क्या है और इसके लिए क्या उपयोग किया जाता है?
धन्यवाद हरमन - मैंने यह कैसे किया इसके लिए नीचे मेरा जवाब देखें। – JohnnyLambada