السلام عليكم،
إلى كل مبرمجي الجافا سواء من الجامعة أو من خارجها
هل واجهتك مشكلة عرض الـ Exception عندما يكون كبيراً في شاشة ال Dos؟
ألا تتمنى عرضها في GUI؟
حيث يمكنك التقاط عشرات الـ Exceptions في آن واحد
تخيل الException الآتي،
java.lang.NullPointerException at T$1.actionPerformed(T.java:13) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1767) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1820) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:419) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:257) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:258) at java.awt.Component.processMouseEvent(Component.java:5021) at java.awt.Component.processEvent(Component.java:4818) at java.awt.Container.processEvent(Container.java:1380) at java.awt.Component.dispatchEventImpl(Component.java:3526) at java.awt.Container.dispatchEventImpl(Container.java:1437) at java.awt.Component.dispatchEvent(Component.java:3367) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3214) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:2929) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:2859) at java.awt.Container.dispatchEventImpl(Container.java:1423) at java.awt.Window.dispatchEventImpl(Window.java:1566) at java.awt.Component.dispatchEvent(Component.java:3367) at java.awt.EventQueue.dispatchEvent(EventQueue.java:445) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:190) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:144) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:130) at java.awt.EventDispatchThread.run(EventDispatchThread.java:98)
هذا الخطأ كان بسبب NullPointerException إلا أن هذا الخطأ من الصعب اكتشافه حيث أنك لا تدري من أين يصدر الخطأ، لأن شاشة الDos لا تريك إلا الجزء الأخير منه، أليس كذلك؟
فقد واجهتي هذه المشكلة كثيراً مما جعلني أبرمج صفوف تساعدني على عرضها في GUI.
فإليكم هذه الصفوفClasses في المدرج.
كل ما عليكم فعله بعد تحميل الحزمة package monitor أن تحمله في البرنامج بطباعة:
import monitor.*; // هذه لتحميل الحزمة
ومن ثم كتابة السطر الآتي في أول جملة في main() كما في الآتي:
public static void main(String [] args){
MonitorManager.setMonitorAsDefaultErrorOutput(); //لجعل طباعة الException في GUI
// start your program
.
.
.
}Documentation متوفر
ملاحظات:
1-مزيداً من التفاصيل ستنشر عن هذا المنتج قريباً بإذن الله حيث يمكنك الطباعة إليه مباشرة باستخدامك System.out.println() على سبيل المثال.
2- الكود مجاني لمن أراده
3-كما أن أجوبة المنتدى تنتظر أسئلتكم ومشاركاتكم.
فلمن أراد الحزمة الرجاء نشر البريد الالكتروني هنا حتى أستطيع إرسالها على بريدكم. فإني لم أستطع إنزاله في المنتدى فحجم الحزمة 8 ك.ب. و Documentation 30kb ، فالمنتدى يقبل 30 بايت فقط!! تخيل !!!
أرجو من الجميع إعلامي عن رأيهم في الحزمة وشكراً