كيف أقوم بتعيين أيقونة التطبيق عالميًا في Swing؟

StackOverflow https://stackoverflow.com/questions/103179

  •  01-07-2019
  •  | 
  •  

سؤال

أعلم أنه يمكنني تحديد نموذج واحد لكل نموذج، أو للنموذج الجذري وبعد ذلك سينتقل إلى جميع النماذج الفرعية، ولكنني أرغب في الحصول على طريقة لتجاوز Java Coffee Cup الافتراضي لجميع النماذج حتى تلك قد أنسى.

أي اقتراحات؟

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

المحلول

يمكنك إنشاء النموذج الجذري (الذي أفترض أنك تقصده JFrame) كن فئة فرعية خاصة بك من JFrame, ، ووضع وظائف قياسية في منشئه، مثل:

this.setIconImage(STANDARD_ICON);

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

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

نصائح أخرى

هناك طريقة أخرى، لكنها "اختراق" أكثر من كونها حلًا حقيقيًا....

إذا كنت تقوم بتوزيع JRE مع التطبيق الخاص بك، فيمكنك استبدال مصدر رمز فنجان القهوة في java exe/dll/rt.jar أينما كان بالرمز الخاص بك.قد لا يكون الأمر شرعيًا جدًا، لكنه احتمال...

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

كما قال Paul/Andreas، فإن التصنيف الفرعي JFrame سيكون أفضل رهان لك.

قم بتوسيع فئة JDialog (على سبيل المثال، قم بتسميتها MyDialog) وقم بتعيين الرمز في المُنشئ.ثم يجب على جميع مربعات الحوار توسيع نطاق التنفيذ (MyDialog).

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