खोलने पर मुख्य जेएफआरएम को कैसे अक्षम करें उदाहरण के लिए अब मेरे पास एक मुख्य फ्रेम में सभी ग्राहक जानकारी jtable प्रदर्शित है, और एक नया जेएफआरएएम खोलने के लिए एक बटन बनाएं जो उपयोगकर्ता को नया ग्राहक बनाने की अनुमति देता है। मैं नहीं चाहता कि उपयोगकर्ता एक से अधिक निर्माण फ्रेम खोल सके। कोई स्विंग घटक या एपीआई ऐसा कर सकता है? या मुख्य फ्रेम को कैसे अक्षम कर सकते हैं? JDialog की तरह कुछ।नया जेएफआरएएम
उत्तर
मेरा सुझाव है कि आप अपना नया ग्राहक संवाद एक मॉडल JDialog
बनाते हैं ताकि आप दिखाई देने पर अपने ऐप में अन्य संवाद/फ्रेम से इनपुट की अनुमति न दें। विवरण के लिए modality tutorial पर एक नज़र डालें।
पहले फ्रेम पर firstFrame.setVisible(false)
का उपयोग करें। यह बात छिपा कर देगा ..
अगर आप एक अधिक सामान्य दृष्टिकोण चाहते हैं आप कहीं वर्तमान दिखाया गया फ्रेम के लिए एक संदर्भ है और यह बदल सकता है दिखाया जा सकता है जब एक नया फ्रेम अनुरोध
JFrame currentFrame;
void showRequest(JFrame frame)
{
currentFrame.setVisible(false);
currentFrame = frame;
currentFrame.setVisible(true);
}
मैं चाहता हूं कि मुख्य फ्रेम अभी भी यह सुनिश्चित करना चाहता है कि उपयोगकर्ता केवल एक फ्रेम बनाये। मैं बटन पर अक्षम करने के बारे में सोच रहा था, लेकिन क्या लागू करने के लिए कोई और अच्छा अभ्यास है? – user236501
आप __। SetFocusable (false) __ के साथ प्रयास कर सकते हैं, यह फ्रेम रखेगा लेकिन उपयोगकर्ता को इसके अंदर कुछ भी क्लिक करने की अनुमति नहीं दी जाएगी .. – Jack
आपके सुझाव के लिए धन्यवाद। मैं createButton.addActionListener (नई java.awt.event.ActionListener() { \t सार्वजनिक शून्य actionPerformed (java.awt.event.ActionEvent ई) {\t \t \t \t \t ... \t है जैसे कि यह करने की कोशिश की createFrame.setVisible (true); \t mainframe.setFocusable (false); } }); लेकिन मैं अभी भी मुख्य फ्रेम पर निर्माण बटन पर क्लिक कर सकता हूं? – user236501
मुझे लगता है कि आप मुख्य JFrame के लिए इस कोड का उपयोग करना चाहिए जब आप नए खोलने की कोशिश कर एक:
this.setEnabled(false);
इतना आसान और वास्तव में ओपी प्रश्न का उत्तर देते हैं, आपने मेरी मदद की है। –
बिल्कुल सही, "मुख्य फ्रेम को अक्षम करने के तरीके" के स्वीकार्य उत्तर होना चाहिए था। धन्यवाद! – corporateWhore
देर उत्तर के लिए क्षमा करें, लेकिन आप सिंगलटन डिजाइन पैटर्न पर विचार किया है? जब भी आप कक्षा चाहते हैं, यह कक्षा के उसी उदाहरण को वापस कर देगा। तो उपयोगकर्ता विवरण दर्ज करने के एक फ्रेम चाहता है, वहाँ केवल एक ही फ्रेम खुला (समान उदाहरण) हो जाएगा
वह कुछ इस तरह चला जाता है:
private static MySingleFrame instance = null; //global var
private MySingleFrame() { } //private constructor
private static MySingleFrame getInstance()
{
if(instance == null)
{
instance = new MySingleFrame();
}
//returns the same instance everytime MySingleFrame.getInstance() is called
return instance;
}
आप उपयोग कर सकते हैं:
private void btn_NewFormActionPerformed(java.awt.event.ActionEvent evt) {
this.hide();
new Frm_NewFormUI().setVisible(true);
}
- 1. जेएफआरएएम
- 2. जेएफआरएएम
- 3. जेएफआरएएम
- 4. जेएफआरएएम
- 5. जेएफआरएएम
- 6. जेएफआरएएम
- 7. एक जेएफआरएएम
- 8. स्विंग जेएफआरएएम
- 9. एक जेएफआरएएम कैसे करें?
- 10. बंद ऑपरेशन पर जेएफआरएएम
- 11. जावा स्विंग जेएफआरएएम लेआउट
- 12. जेएफआरएएम और जेपीनेल
- 13. पारदर्शी जेएफआरएएम पृष्ठभूमि
- 14. जेएफआरएएम पारदर्शी कैसे बनाएं?
- 15. जेएफआरएएम में छवि केंद्रित करना?
- 16. जेएफआरएएम विंडो को अधिकतम करें
- 17. जेपीनेल, जेएफआरएएम, जेकंपोनेंट, और जेप्लेट
- 18. पारदर्शी जेएफआरएएम सीमा जेडीके 7
- 19. एक नया गेम
- 20. नया इंस्टेंस() बनाम नया
- 21. नया
- 22. जेपीनेल के साथ जेपीनेल को जेएफआरएएम
- 23. एक स्विंग विंडो लिस्टर वीटो जेएफआरएएम
- 24. जेएफआरएएम: वास्तविक सामग्री आकार प्राप्त करना
- 25. जेएफआरएएम: सीमाओं के बिना आकार प्राप्त करें?
- 26. जेडनल्स के अंदर जेबटन्स ग्रिडलायआउट जेएफआरएएम
- 27. नेटबीन्स में जेएफआरएएम से जेपीनल तक
- 28. जेएफआरएएम वास्तव में पूर्णस्क्रीन कैसे बनाएं?
- 29. "नया" ऑपरेटर और "नया" फ़ंक्शन
- 30. जावा में जेएफआरएएम से सभी घटकों को कैसे हटाया जाए?
हाय यह वही करता है जो मैं चाहता हूं। बहुत बहुत धन्यवाद – user236501
दूसरी ओर, मोडल यूजर इंटरफेस * बहुत * कष्टप्रद हैं, इसलिए एक ही समय में कई अलग-अलग उपयोगकर्ताओं को संपादित करने की अनुमति देने के लिए जीयूआई को फिर से डिजाइन करने पर विचार करें। – KarlP