Java Swing - Display table in sub menu -


मेरे पास एक मेनू है जो दिखाता है

  • Item1
  • Item2
  • आइटम 3

आदि। मद 1 पर क्लिक करने से मुझे 2 कॉलम के साथ एक तालिका प्रदर्शित करनी चाहिए।

मैंने कुछ नीचे करने की कोशिश की, सिर्फ एक लेबल प्रदर्शित करने के साथ। लेकिन लेबल को स्क्रीन में कहीं कहीं प्रदर्शित किया जाता है, जहां मुझे मेनुइटम 1 के तहत सबमेनू होने की उम्मीद है।

जेएममेनू मेन मेन्यू = नया जेएमएनयू ("मेन मेन्यू हेडर");

जेएममेनू मेनूइटम 1 = नया जेएमएनयू (नया कुछ क्लासएन्ट्टिंग एब्जेक्ट ऍक्शन ("मेनूइटम 1"));

सार्वजनिक क्लास कुछ क्लास एन्टिंगिंग ऐब्रोनिकेशन एक्शन AbstractAction का विस्तार {

  सार्वजनिक SomeClassExtendingAbstractAction (स्ट्रिंग डिस्प्ले टेक्स्ट) {सुपर (डिस्प्ले टेक्स्ट); } सार्वजनिक शून्य कार्यप्रणाली (एक्शनएवेंट इवेंट) {try {SubMenuDialog.showDialog (parent); सार्वजनिक वर्ग SubMenuDialog JDialog का विस्तार करता है { 
  सार्वजनिक सबमेनूडियलोग (जेफ्रेम के मूल) {}        

{ सुपर(); प्रारंभ (); } निजी शून्य प्रारंभ () {JLabel लेबल = नया जेएलैब (); Label.setText ("यह परीक्षण सबमेनू है"); । GetContentPane () (लेबल) जोड़ने; } सार्वजनिक स्थिर शून्य शो डिआलोग (जेएफआरएएम पैरेंट) {सबमेन्यूडियलॉग सबमेनूडियलॉग = नया सबमेन्यूडियलॉग (मूल); subMenuDialog.pack (); subMenuDialog.setVisible (सही); }

}

अगर मैं सही ढंग से समझता हूं, तो आप क्या चाहते हैं करने के लिए एक सबमेनू पॉपअप में मनमाने ढंग से घटक दिखाने के लिए है आप स्पष्ट रूप से JDialog का उपयोग नहीं कर सकते क्योंकि यह आपको एक, तुम्हें पता है, JDialog

आपका SubMenuDialog # showDialog एक JPopupMenu बनाओ, इसके लिए किसी भी घटक को जोड़ें (उदाहरण के लिए JScrollPane जिसमें कोई तालिका है, या JPanel लेबल के साथ), और यह बताएं कि एक सामान्य सबमेनू होगा।

हालांकि पॉपअप में जटिल चीज़ों को दिखाने के लिए सामान्य तौर पर यह अच्छा विचार नहीं है, क्योंकि पॉपअप को खोना बहुत आसान है, साथ ही आपको पॉपअप के अंदर के घटकों के साथ फोकस करने की समस्या हो सकती है।

मैं सुझाव देता हूं कि आप कार्यात्मक कार्यप्रणाली के सर्वोत्तम UI प्रतिनिधित्व के लिए UI डिजाइनर से परामर्श लें।


Comments