मेरे पास ग्रिडबैगआउटआउट लेआउट वाला एक जेपीनल हैमेरे पास कई 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;
}
}