मैं एक जावा शुरुआत करने वाला हूं और अपनी पहली परियोजना के लिए मैंने एक एकाधिकार खेल बनाना शुरू कर दिया।जावा ग्राफिक्स समस्याएं
मैं ग्राफिक्स विधि का उपयोग कर स्विंग में जीयूआई बना रहा हूं।
दो समस्याएं दिखाई दीं जिन्हें मुझे कोई जवाब नहीं मिला।
पहला ऐसा लगता है कि ऐसा लगता है कि मैं अपने जेननेल में पृष्ठभूमि रंग सेट नहीं कर सकता जिसे मैंने पहले उसी प्रोजेक्ट में एक और जेपीनल में उसी तरह किया था।
दूसरा एक है कि मैं मिलता है एक NullPointerException
जबकि एक image.I जोड़ने की कोशिश कर एक try/catch
के साथ इस त्रुटि को दूर करने में कामयाब रहे, लेकिन ऐसा लगता है कि ग्राफिक्स paint.Again नहीं होगा मैं लोड करने के लिए एक ही विधि का उपयोग किया है और पिछले जेपीनल में छवियां जोड़ें और यह काम किया।
मुझे यह उल्लेख करना चाहिए कि इस समय मेरे जेएफआरएएम में अलग-अलग वर्गों में 3 तत्व शामिल हैं और सीमावर्ती() के माध्यम से जोड़े गए हैं।
इस वर्ग कि समस्याएं पैदा कर रहा है के लिए कोड है:
public class MonopolyBoard extends JPanel{
Image atlantic;
MonopolyBoard() {
this.setBorder(new EtchedBorder());
this.setBackground(new Color((80), (180), (210))); //this code dosent work
//this throws exception without try catch
try{
ImageIcon a = new ImageIcon(this.getClass().getResource("../Card/Atlantic Ave.jpg"));
atlantic = a.getImage();
}
catch(NullPointerException e){}
}
public void paint(Graphics g){
}
Graphics2D g2 = (Graphics2D) g;
//this code should draw the image but it dosent
g2.drawImage(atlantic, 100, 100, null);
g.drawImage(atlantic, 100, 100, this);
};
}
वहाँ 'कोशिश/catch' प्रयोग न करें। स्टैकट्रैक पोस्ट करें। –
"स्विंग प्रोग्रामों को 'पेंट()' ओवरराइड करने के बजाय 'paintComponent()' ओवरराइड करना चाहिए। "- [एडब्ल्यूटी और स्विंग में चित्रकारी: पेंट विधि] (http://java.sun.com/products/jfc/tsc/ लेख/चित्रकला/index.html # कॉलबैक)। – trashgod
"यह कोशिश किए बिना अपवाद फेंकता है" - यह गलत है। यदि ब्लॉक अपवाद फेंकता है, तो यह कोशिश/पकड़ के बावजूद करता है। आपका प्रयास/पकड़ ब्लॉक क्या है अपवाद _hide_ है। जो बदले में, डीबग करना असंभव बनाता है। आपको _why_ को समझने की आवश्यकता है कि अपवाद फेंक दिया गया है, इसे गलीचा के नीचे छुपाएं। – Mat