2011-10-04 10 views
16

मेरे पास एक जावा ऐप है जो डेटाबेस से एक सूची प्रदर्शित करता है।संवाद पर जावा श्रोता

@Action 
public void addNewEntry() { 
    JFrame mainFrame = ADLog2App.getApplication().getMainFrame(); 
    addNewDialog = new AddNewView(mainFrame, true); 
    addNewDialog.setLocationRelativeTo(mainFrame); 
    addNewDialog.addContainerListener(null); 
    ADLog2App.getApplication().show(addNewDialog); 
} 

तुम कैसे पता लगाने के लिए जब addNewDialog विंडो बंद हो मुख्य वर्ग के लिए एक श्रोता जोड़ सकता हूँ, इसलिए कि मैं एक ताज़ा विधि कॉल कर सकते हैं: कक्षा के अंदर डेटा प्रविष्टि के लिए एक नया संवाद खोलने के लिए निम्न कोड है और डेटाबेस से सूची ताज़ा करें।

+0

"मुख्य श्रेणी" से आपका क्या मतलब है? वह कक्षा जो 'addNewEntry' को परिभाषित करती है? 'जेएफआरएएम'? बिल्ली 'AddNewView' क्या है? वह पुस्तकालय क्या है? –

+1

क्या आपने विंडोलिस्टर्स में देखा है? http://download.oracle.com/javase/1.4.2/docs/api/java/awt/event/WindowListener.html – Simiil

+0

क्षमा करें, 'AddNewView' JDialog खोला जा रहा है। – Woodsy

उत्तर

38

तो AddNewView एक Window इस तरह के एक Dialog या के रूप में JDialog, आप Window.addWindowListener(...) इस्तेमाल कर सकते हैं है। यही कारण है, अपने मुख्य वर्ग में, आप

addNewDialog.addWindowListener(someWindowListener); 

कर जहां someWindowListener कुछ WindowListener जो/implemetnns windowClosed ओवरराइड करता है (उदाहरण के एक WindowAdapter के लिए) है।

एक और पूरा उदाहरण के लिए, एक गुमनाम वर्ग का उपयोग कर,

addNewDialog.addWindowListener(new WindowAdapter() { 
    @Override 
    public void windowClosed(WindowEvent e) { 
     refreshMainView(); 
    } 
}); 

प्रासंगिक लिंक दिखाई देगा:

+0

ग्रेट लिंक। जावाडॉक्स के संबंध में। इस तरह के समय तक [बग रिपोर्ट 7090875] (http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7090875) (एक आरएफई) हल हो गया है, किसी भी खोज में '7' फेंकने का कोई मौका कक्षा के लिए दस्तावेज़ (या अन्यथा संस्करण 7 दस्तावेज़ों से लिंक)? –

+0

हाँ। शायद यह v7 का जिक्र करना शुरू करने का समय है ... मेरे दिमाग में नहीं मारा था। मैं इसे अब से करूँगा। धन्यवाद। – aioobe

+0

धन्यवाद। जितनी जल्दी लोग वी 7 डॉक्स से जुड़ना शुरू करेंगे, जल्द ही Google उन लिंक को v। 6 लिंक पर वापस कर देगा। बेशक, यदि आरएफई लागू किया गया है, तो यह सब ठीक हो जाएगा। –

7

आपजोड़ने के लिएऔर ओवरराइड windowClosing इवेंट, यदि घटना हुई तो बस कुछ ध्वज को पीछे छोड़ दें, उदाहरण here

संबंधित मुद्दे