जब मैं JList<String>.getModel()
पर कॉल करता हूं और इसे DefaultListModel<String>
पर डालता हूं तो यह मुझे यह अपवाद देता है।JList.getModel() ClassCastException
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JList$4 cannot be cast to javax.swing.DefaultListModel
कोड है कि यह फेंकता है:
private JList<String> list = new JList<String>();
((DefaultListModel<String>) list.getModel()).addElement(...);
यह हालांकि यह हर बार ऐसा नहीं करता है। अधिकांश समय यह पूरी तरह से काम करता है, लेकिन दूसरी बार यह इस अपवाद को फेंक देता है। मुझे समझ में नहीं आता कि यह क्यों हो रहा है। क्या ऐसा कुछ भी हो रहा है जो इसे रोकने से रोकने के लिए कर सकता है?
बेहतर मदद जल्दी के लिए चुनते हैं, तो [SSCCE] (http://sscce.org/) पोस्ट करते हैं। –
इसके लायक होने के लिए मैंने सोचा कि सवाल उचित और पूर्ण था, हालांकि यह एंड्रयू के संपादन के कारण हो सकता है। – ditkin
@ditkin मैं यह भी नहीं बता सकता कि एंड्रयू ने क्या संपादित किया। लेकिन मुझे समस्या मिली, यह 'setListData (E []) विधि को कॉल कर रहा था,' सूची के 'ListModel' को बदल दिया। – Stripies