/ / एक विशिष्ट ग्रिड में स्थित घटक कैसे प्राप्त करें, ग्रिडबैगआउटआउट लेआउट के साथ जेपीनल से ग्रिड? - जावा, स्विंग, यूजर इंटरफेस, ग्रिडबैगआउट

एक विशिष्ट ग्रिड में स्थित घटक कैसे प्राप्त करें, ग्रिडबैगआउटआउट लेआउट के साथ जेपीनल से ग्रिड? - जावा, स्विंग, यूजर इंटरफेस, ग्रिडबैगआउट

मेरे पास ग्रिडबैगआउटआउट लेआउट वाला एक जेपीनल हैमेरे पास कई jtextfields हैं, कई jlabels, कई jbuttons जो गतिशील रूप से जोड़ा जाता है। इसलिए मैं उनके विशिष्ट आदेश नहीं जान सकता, इसलिए पैनल का उपयोग नहीं कर सकता .getComponent (गिनती)। अगर एपीआई में मिलता है तो मुझे एपीआई में देखा जाता है जैसे ग्रिडक्स (इंट एक्स) या ग्रिडी (इंट वाई) मिलता है। क्या नहीं मिला। क्या उन तरीकों के समान कुछ भी है?

उत्तर:

जवाब के लिए 2 № 1

उपयोग करने के लिए सबसे सरल समाधान हो सकता है GridBagLayout#getConstraints(Component) और बस सभी घटकों के माध्यम से लूप जब तक आपको आवश्यक ग्रिड स्थिति से मेल नहीं खाता ...

Component match = null;
GridBagLayout layout = ...
for (Component comp : getComponents()) {
GridBagConstraints gbc = layout.getConstraints(comp);
if (gbc.gridx = x && gbc.gridy = y) {
match = comp;
break;
}
}