سؤال

هل يستطيع أحدكم أن يفسر لي ما الفرق بين البديل و AWT?

هل هناك أي حالات AWT هو أكثر فائدة/ينصح باستخدام من البديل أو العكس بالعكس ؟

هل كانت مفيدة؟

المحلول

وAWT هو واجهة جافا لالأصلي شفرة النظام GUI موجودة في نظام التشغيل الخاص بك. فهو لن يعمل نفسه على كل نظام، على الرغم من أنه يحاول.

وسوينغ هو أكثر أو أقل نقية جافا واجهة المستخدم الرسومية. ويستخدم AWT إلى إنشاء نافذة نظام التشغيل ومن ثم يرسم الصور من الأزرار والملصقات، والنص، مربعات، وما إلى ذلك، في هذا الإطار، ويستجيب إلى جميع حساباتك نقرات الماوس، ومداخل رئيسية، وما إلى ذلك، تقرر لنفسها ما يجب القيام به بدلا من السماح للنظام التشغيل التعامل معها. وهكذا سوينغ هو 100٪ المحمولة وهو نفس المحطات فى جميع انحاء (على الرغم من أنه سكينبل ولديه "نظرة للتوصيل ويشعر" التي يمكن أن تجعل الأمر يبدو أكثر أو أقل مثل كيفية ويندوز الأصلية والحاجيات ستبحث).

وهذه هي نهج مختلفة إلى حد كبير إلى مجموعة أدوات واجهة المستخدم الرسومية ولدي الكثير من العواقب. ومن شأن الإجابة الكاملة على سؤالك محاولة لاستكشاف كل من هؤلاء. :) هنا بضعة:

وAWT هو واجهة عبر منصة، وذلك على الرغم من أنه يستخدم نظام التشغيل الأساسي أو الأم أدوات واجهة المستخدم الرسومية حصول على وظائف، فإنه لا يوفر الوصول إلى كل شيء أن تلك الأدوات يمكن القيام به. المتقدمة أو أحدث الحاجيات AWT التي قد توجد على منصة واحدة قد لا يكون معتمدا على آخر. قد لا يكون معتمدا ملامح الحاجيات التي ليست هي نفسها على كل منصة، أو ما هو أسوأ، لأنها قد تعمل بشكل مختلف على كل منصة. اعتاد الناس على استثمار الكثير من الجهد للحصول على التطبيقات AWT بهم للعمل باستمرار عبر منصات - على سبيل المثال، فإنها قد تحاول إجراء مكالمات إلى رمز الأصلي من جاوة

ولأن الهجوم الجوي يستخدم الحاجيات واجهة المستخدم الرسومية الأم، نظام التشغيل الخاص بك يعرف عنهم ومعالجة وضعها أمام بعضها البعض، وما إلى ذلك، في حين تأرجح الحاجيات بكسل لا معنى لها ضمن إطار من نقطة نظام التشغيل الخاص بك وجهة نظر. تأرجح نفسه يتعامل مع تخطيط الحاجيات الخاصة بك "والتراص. خلط AWT وسوينغ غير معتمد للغاية ويمكن أن يؤدي إلى نتائج مثيرة للسخرية، مثل أزرار الأم أن كل شيء غامض آخر في مربع الحوار الذي يقيمون فيه لأنه خلق كل شيء آخر مع سوينغ.

ولأن سوينغ يحاول بذل كل جهد ممكن في جاوة بخلاف إجراءات الرسومات الخام جدا التي تقدمها نافذة واجهة المستخدم الرسومية الأصلي، كان عليه أن يتحمل جدا جزاء أداء مقارنة AWT. جعل هذا سوينغ بطيئة للأسف للقبض على. ومع ذلك، قد تقلصت هذا بشكل كبير خلال السنوات القليلة الماضية بسبب JVMs أكثر الأمثل، وآلات أسرع، و(أفترض) تعظيم الاستفادة من الداخلية سوينغ. اليوم يمكن تشغيل تطبيق سوينغ سريع بما فيه الكفاية ليكون للخدمة أو حتى رشيق، ويمكن تمييزها تقريبا من تطبيق باستخدام الحاجيات المحلية. سوف يقول البعض أنه أخذ وقتا طويلا جدا للوصول إلى هذه النقطة، ولكن معظم سوف أقول أنه يستحق ذلك جيدا.

وأخيرا، قد ترغب أيضا في مراجعة سبحانه وتعالى (مجموعة أدوات واجهة المستخدم الرسومية المستخدمة لكسوف الشمس، وبديلا لكلا AWT وسوينغ)، وهو نوعا من العودة إلى فكرة AWT من الوصول إلى الحاجيات الوطنية من خلال جافا.

نصائح أخرى

قاعدة الفرق التي سبق الجميع المذكور هو الوزن الثقيل وغيرها خفيفة الوزن.اسمحوا لي أن أشرح, أساسا ما مصطلح الوزن الثقيل يعني أنه عندما كنت تستخدم awt مكونات التعليمات البرمجية الأصلية المستخدمة للحصول على عرض العنصر تم إنشاؤه بواسطة نظام التشغيل, هذا السبب في أنه من الشكل والمظهر التغييرات من نظام التشغيل إلى نظام التشغيل. حيث كما هو الحال في البديل مكونات لها مسؤولية JVM لتوليد عرض المكونات. آخر البيان الذي رأيت هو أن البديل هو MVC على awt لا.

سوينغ

مقابل AWT . في الأساس جاء الهجوم الجوي أولا وهو مجموعة من المكونات UI الوزن الثقيل (بمعنى أنها مغلفة للكائنات نظام التشغيل) في حين أرجوحة بنيت على رأس AWT مع مجموعة أغنى من مكونات خفيفة الوزن.

ويتم أي عمل جاد جافا UI في سوينغ لا AWT، التي كانت تستخدم في المقام الأول لتطبيقات.

بقدر ما AWT قد تكون أكثر فائدة من الأرجوحة

  • قد يكون استهداف كبار السن JVM أو منصة لا يدعم البديل.كان هذا حقا إذا كنت بناء تطبيقات - أردت أن الهدف القاسم المشترك الأدنى حتى لا تضطر إلى تثبيت أحدث جافا البرنامج المساعد.لست متأكدا ماذا الحالية على نطاق واسع تثبيت إصدار من جافا البرنامج المساعد هو - قد يكون هذا اليوم مختلفا.
  • بعض الناس يفضلون نظرة الأم من AWT على البديل 'ليس هناك منصة الجلود.(هناك أفضل 3rd الطرف يبحث الأصلية جلود من البديل تطبيقات راجع للشغل) الكثير من الناس يفضلون استخدام AWT هو FileDialog على البديل FileChooser لأنه أعطى منصة حوار الملفات معظم الناس تستخدم بدلا من 'غريب' مخصص أرجوحة واحدة.

عدة عواقب تنتج عن هذا الاختلاف بين AWT والبديل.

الهجوم الجوي هو طبقة رقيقة من التعليمات البرمجية في أعلى نظام التشغيل, في حين أن البديل هو أكبر من ذلك بكثير.البديل أيضا كثيرا وظائف أكثر ثراء.باستخدام AWT عليك تنفيذ الكثير من الأشياء بنفسك ، في حين أن البديل لهم بنيت في.بالنسبة واجهة المستخدم الرسومية-العمل المكثف ، AWT يشعر بدائية جدا للعمل مع مقارنة البديل.لأن البديل تنفذ وظائف واجهة المستخدم الرسومية نفسها بدلا من الاعتماد على host OS, أنها يمكن أن توفر أكثر ثراء البيئة على جميع منصات جافا يعمل على.AWT أكثر محدودية في توفير نفس الوظائف على جميع المنصات لأن ليس كل منصات تنفيذ نفس المظهر يتحكم في نفسه الطرق.

البديل مكونات تسمى "خفيفة" لأنها لا تتطلب نظام التشغيل الأصلي الكائن لتنفيذ وظائفها. JDialog و JFrame هي الوزن الثقيل, لأن لديهم الأقران.لذا مكونات مثل JButton, JTextArea, ، وما إلى ذلك ، هي خفيفة الوزن لأنها لا تملك نظام التشغيل الأقران.

A الأقران هو القطعة التي يقدمها نظام التشغيل ، مثل زر كائن أو حقل إدخال كائن.

البديل:

  1. البديل هو جزء من جافا فئات foundation.
  2. البديل مكونات منصة مستقلة.
  3. البديل المكونات هي مكونات خفيفة الوزن لأن البديل يجلس على رأس awt.

AWT:

  1. AWT يسمى مجردة نافذة الأداة.
  2. AWT المكونات التي تعتمد على منصة.
  3. AWT مكونات الوزن الثقيل المكونات.
  • البديل عنصر توفر الكثير من المرونة واجهة المستخدم لأنه اتبع نموذج عرض المراقب المالي(mvc).
  • awt لا mvc القائمة.
  • البديل يعمل بشكل أسرع.
  • awt لا يعمل بشكل أسرع.
  • البديل مكونات خفيفة الوزن.
  • awt مكونات ثقيلة الوزن.
  • البديل تحتل أقل مساحة الذاكرة.
  • awt تحتل المزيد من مساحة الذاكرة.
  • البديل العنصر هو منصة مستقلة.
  • awt هو منصة تعتمد.
  • البديل تتطلب javax.البديل الحزمة.
  • awt تتطلب javax.الحزمة awt.

AWT 1 .AWT تحتل المزيد من مساحة الذاكرة 2 .AWT هو منصة تعتمد 3 .AWT تتطلب javax.الحزمة awt

يتأرجح 1 .البديل تحتل أقل مساحة الذاكرة 2 .البديل العنصر هو منصة مستقلة 3 .البديل يتطلب javax.البديل حزمة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top