java - Small problem while using JOptionPane -
मैं अपॉप्शन प्रदर्शित करने के लिए मेस्पेक्शनपैन। शोमोसेज डिआलोग (रिक्त, ई, "अमान्य नाम", जॉप्शनपेन.एआरआरओआर_एमएमएसईजी) का उपयोग कर रहा हूं। अपवाद वर्ग से विस्तारित लेकिन पॉप विंडो प्रदर्शित नहीं हो रही है जब तक कि जब तक मैं Alt + टैब नहीं दबाता। क्या कारण हो सकता है? नीचे स्निपेट है मुझे कुछ सुझाव दें।
<पूर्व> आयात करें java.awt.event। *; Import java.awt। *; आयात javax.swing। *; Import java.util। *; Import java.io * *; वर्ग का नामअवजाई अपवाद अपवाद फैलाता है {/ ** * अमान्य नाम * / स्ट्रिंग invName; सार्वजनिक नामनिवामान्य अपवाद () {सुपर (); } सार्वजनिक नामनिवामान्य एक्सप्शन (स्ट्रिंग्स) {invName = s; }} वर्ग SmallException अपवाद फैली {/ ** * लघु नाम * / स्ट्रिंग एस नाम; सार्वजनिक स्मॉल अपेशन () {सुपर (); } सार्वजनिक लघु अपवाद (स्ट्रिंग्स) {sName = s; }} पब्लिक क्लास वैधनाम {सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग अर []) {try {BufferedReader br = new BufferedReader (New InputStreamReader (System.in)); System.out.println ("नाम दर्ज करें:"); स्ट्रिंग नाम = br.readLine (); checkName (नाम); } पकड़ (IOException ई) {System.out.println (e); }} / / अंत मुख्य स्थिर शून्य चेकनाम (स्ट्रिंग नाम) {try {string string} = name.split (""); अगर (sarr.length! = 3) नए छोटे एक्सपेशन (नाम) को फेंक दो; के लिए (इंट जे = 0; जे एंड एलटी; 3; जे ++) {System.out.println ("इन जे लूप"); यदि (एसआरआरआर [जे]। लंबाई () & lt; 3) {नए छोटे एक्सपैशन (); }} के लिए (int i = 0; i & lt; name.length (); i ++) {char ch = name.charAt (i); If (Character.isLetter (ch) || Character.isWhitespace (ch)) System.out.println ("ok" + ch); और नया नाम इन्वैलडएक्सेशन () डालें; } // अंत के लिए // अंत पकड़ने का प्रयास करें (NameInvalidException ई) {JOptionPane.showMessageDialog (null, e.toString (), "अमान्य नाम", JOptionPane.ERROR_MESSAGE); Println (ई); } पकड़ (लघु अपवाद एसए) {जोप्शनपेन। शो मेसेज डिआलोग (नल, एस.ओस्टस्ट्रिंग (), "अमान्य नाम", जॉप्शनपेन। एआरआरओआर_एमएमएसईजी); }} // एंड चेक नाम (नाम)}
मेरे पर ऐसा व्यवहार था मशीन। चाल यही है कि आपको जेडीआईएलओघ वर्ग को हमेशा शीर्ष पर सेट करने के लिए बताना होगा - जो कि सुविधाजनक स्थिर शो मेसेजडिआलॉग विधि का उपयोग करने में संभव नहीं है। इसलिए हमें हाथ से हाथों से जॉप्शनपैन और जेडीआईअलोग बनाना होगा। बस वैध नाम श्रेणी में एक और स्थिर विधि जोड़ें:
निजी स्थिर शून्य दिखाने एर्रप्रान (स्ट्रिंग संदेश, स्ट्रिंग शीर्षक) {जॉप्शनपैन फलक = नया जॉप्शनपैन (संदेश, जॉप्शनपैन। एआरआरओआर_एमएमएसई); जेडियलोग डायलॉग = फलक। कंटेट डायलॉग (शीर्षक); dialog.setAlwaysOnTop (सही); dialog.setVisible (सही); }
और इस पद्धति को यॉप्शनपेन.शोमसेजडियलोग के बजाय कॉल करें। यह मेरी मशीन पर काम करता है, त्रुटि संदेश तब दिखाई देता है जहां यह चाहिए: मेरे ग्रहण आईडीई के शीर्ष पर।
Comments
Post a Comment