मुख्य सामग्री पर जाएँ
CrossFly 100% ओपन सोर्सGitHub पर फ़ॉलो करें
CrossFlyCrossFly
शुरू करें

यह पृष्ठ पुर्तगाली से मशीन-अनुवादित है और इसमें त्रुटियाँ हो सकती हैं। पुर्तगाली संस्करण प्रामाणिक है।

रनटाइम त्रुटियाँ

प्रारूप: लक्षण → कारण → सुधार।

MainWindow लोड नहीं होता (reflection त्रुटि / “class not found”)

कारण: रूट क्लास Window को extend नहीं करती या उसमें बिना-आर्ग्स वाला public कंस्ट्रक्टर नहीं है। सुधार:

public class MainWindow extends Window {
   public MainWindow() { }   // बिना-args कंस्ट्रक्टर (reflection के लिए अनिवार्य)
   @Override public void onShow() throws Exception { super.onShow(); /* … */ }
}

(प्रोजेक्ट की संरचना)

“FrameBuffer not disposed! Must call Image.apply after Image.getGraphics!”

कारण: आपने किसी Image पर off-screen ड्रॉ किया और उसे कमिट नहीं किया। सुधार: Image.getPaint() से ड्रॉ करें और paint.finish() (या image.applyChanges()) से अंतिम रूप दें, सब कुछ Main.runOnPaintThreadAndWait(...) के भीतर:

Main.runOnPaintThreadAndWait(() -> {
   Paint p = img.getPaint();
   // … p में ड्रॉ करना …
   p.finish();               // पुष्टि करता है (img.applyChanges() के समतुल्य)
});

⚠️ विसंगति: त्रुटि संदेश getGraphics()/apply() (पुराने नाम) का उल्लेख करता है; वास्तविक मेथड getPaint() और finish()/applyChanges() हैं। (अध्याय 18)

बैकग्राउंड थ्रेड में बदला गया कंपोनेंट UI को क्रैश/भ्रष्ट कर देता है

कारण: सभी UI हेरफेर paint thread पर होते हैं। सुधार: Component.onUI(r) / Main.runOnPaintThread(r) से वापस आएँ।

new Thread(() -> { var v = calc(); Component.onUI(() -> label.setText(v)); }).start();

(paint thread)

कंस्ट्रक्टर में बनाया गया UI खाली दिखता है / गलत bounds के साथ

कारण: कंस्ट्रक्टर में स्क्रीन/bounds अभी तैयार नहीं होते। सुधार: super.onShow() के साथ onShow() में बनाएँ। (अध्याय 7)

onAction में अपवाद ऐप को क्रैश किए बिना “गायब” हो जाता है

कारण: हैंडलर Debug.handle द्वारा पकड़े जाते हैं और निगल लिए जाते हैं — वे ऊपर नहीं उठते। सुधार: प्रसार पर भरोसा न करें; लॉग करें (Debug.log/Debug.handle) और DebugConsole.txt जाँचें। (त्रुटियाँ और logging)

यह भी देखें

क्या यह पृष्ठ उपयोगी था?