خلفية لوحة JPanel مخصصة
1. مقدمة
1. الاسم الكامل لـ واجهة المستخدم الرسومية هو واجهة المستخدم الرسومية ، وهي واجهة المستخدم الرسومية. يستخدم واجهة المستخدم الرسومية في Java على نطاق واسع في حياتنا وهو أمر شائع جدًا أيضًا. تستخدم العديد من التطبيقات هذا واجهة المستخدم الرسومية للبرنامج والتصميم ، مثل النقر على أيقونة QQ لإطفاء نموذج تسجيل الدخول المقابل.
بشكل عام ، يعتمد التفاعل بين البرامج والمستخدمين على الواجهة الجارية للبرنامج المقابل.
2. لوحة JPanel هي فئة حاوية لوحة تحت الأرجوحة. تدعم هذه اللوحة التعشيش ، ويمكنها تعيين طرق التخطيط ، وتعيين مديري تخطيط مختلف لإضافة عناصر تحكم أخرى مثل أزرار JButton ، ومربعات نصية JTextfield ، وما إلى ذلك لتصميم وتحسين نموذج واجهة البرنامج.
إنه بعيد عن ما يكفي لدعم الانتكاسة () كوحة رسم. هنا ننفذ التخصيص لتعيين خلفية الصورة لـ JPanel.
2. أدوات المنصة
1.myeclipse
إظهار باستخدام myeclipse2014 هنا
تتوفر أيضًا منصات أخرى تدعم Java Awt+Swing
3. عرض الصورة
1. تأثيرات المعالجة المختلفة لـ JPanel تحت نفس الشكل
(1) قم أولاً بإنشاء نموذج غير معدّل. تأثير واجهة JPANEL الافتراضية العامة هو كما يلي:
(2) إعداد بسيط لتأثيرات لون الخلفية:
(3) تخصيص تأثير النموذج تحت jpanel بعد المعالجة:
2. تنفيذ الكود
تخصيص معالجة خلفية jpanel ، الصورة هي bg.png ، وهي في نفس المسار مثل فئة الاختبار. يرجى استخدام المسار النسبي عند استخدام الصورة.
استيراد java.awt.graphics ؛ استيراد javax.swing.imageicon ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.jpanel ؛ الطبقة العامة Guitest {jframe jframe {private static jframe ؛ // إعلان نموذج خاص jpanel jpanel ؛ // إعلان A artboard public guitest () {// construction method jframe = new JFrame () ؛ init () ؛ } private void init () {jframe.settitle ("test") ؛ jpanel = new jpanel () {// رمز المفتاح هو إعادة كتابة طريقة من paint Override void paintcomponent (الرسومات g) {super.paintcomponent (g) ؛ imageicon img = new imageicon (guitest.class.getResource ("bg.png")) ؛ / *** bg.png يتم استبدالها بصورتها الخاصة* المسار النسبي المستخدم هنا ، bg.png في نفس المسار مثل فئة الاختبار* ومع ذلك ، يوصى باستخدام المسارات النسبية لتجنب استخدام المسارات المطلقة*/ img.painticon (هذا ، g ، 0 ، 0) ؛ }} ؛ jpanel.setopaque (صواب) ؛ Jframe.setBounds (200 ، 200 ، 500 ، 400) ؛ // قم بتعيين موضع العرض 200 بكسل إلى اليسار والثاني 200 بكسل وحجم الشاشة هو 500*400 JFRAME.Add (JPANEL) ؛ // إضافة Artboard إلى النموذج jframe.setVisible (صحيح) ؛ // قم بتعيين واجهة العرض} الفراغ الثابت العام (سلسلة [] args) {new Guitest () ؛ // instantient الكائن}} 4. قم بتوسيع مدير التخطيط
هنا نموذج تسجيل دخول بسيط:
تم تنفيذ نموذج تسجيل دخول بسيط استنادًا إلى خلفية JPanel مخصصة ، وضع تخطيط Gridbaglayout ، وإضافة مربعات نصية زر وغيرها من عناصر التحكم الأساسية.
(1) الرمز كما يلي:
استيراد java.awt.graphics ؛ استيراد java.awt.gridbagconstraints ؛ استيراد java.awt.gridbaglayout ؛ استيراد java.awt.insets ؛ استيراد javax.swing.imageicon ؛ استيراد javax.swing.jbutton ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.jlabel ؛ استيراد javax.swing.jpanel ؛ استيراد javax.swing.jpasswordfield ؛ استيراد javax.swing.jtextfield ؛ الفئة العامة guit {// DECLARE النموذج ، والتحكم والتحكم في jframe jframe static static ؛ Private Jlabel Jlabel ، Jlabel1 ؛ شبكية Gridbaglayout الخاصة ؛ قيود GridBagconstraints الخاصة ؛ Private JTextfield JTfield1 ؛ Private JPasswordfield JPfield1 ؛ Private Jbutton Jbutton1 ، Jbutton2 ، Jbutton3 ؛ الخاص jpanel jpanel ؛ public guit () {jframe = new Jframe () ؛ JLabel = New JLabel () ؛ JLabel1 = New JLabel () ؛ JTfield1 = New JTextField () ؛ JPfield1 = New JPasswordfield () ؛ Gridbag = new Gridbaglayout () ؛ jbutton1 = new jbutton () ؛ jbutton2 = new jbutton () ؛ jbutton3 = new jbutton () ؛ init () ؛ } / ** * init () تهيئة وعرض الواجهة * / private void init () {jframe.settitle ("login") ؛ / *** تعيين خلفية jpanel*/ jpanel = new jpanel () {Override paintcomponent paintcomponent المحمية (Graphics g) {super.paintcomponent (g) ؛ imageicon img = new ImageIcon (guitest.class.getResource ("ddmbg.jpg") ؛ img.painticon (هذا ، g ، 0 ، 0) ؛ }} ؛ // تهيئة النص لـ jlabel ، Jbutton jlabel.settext ("اسم المستخدم:") ؛ jlabel1.settext ("كلمة المرور:") ؛ jbutton1.settext ("login") ؛ jbutton2.settext ("exit") ؛ jbutton3.settext ("التسجيل") ؛ // قم بتعيين موضع العرض وحجم الشاشة 500*400 Jframe.setBounds (450 ، 240 ، 400 ، 240) ؛ // jpanel يستخدم GridBaglayout Layout Manager JPanel.setopaque (false) ؛ jpanel.setLayout (Gridbag) ؛ . Gridbag.setConstraints (Jlabel ، قيود) ؛ jpanel.add (jlabel) ؛ // تهيئة مربع نص اسم المستخدم وأضف المكون إلى قيود Artboard = getGridBagConstraints (1،0،1،0،0 ، gridbagconstraints.center ، gridbagconstraints.none ، insets جديدة (10،0،10،0) ، 100،0) ؛ Gridbag.setConstraints (Jtfield1 ، قيود) ؛ jpanel.add (jtfield1) ؛ // تهيئة قيود تسمية كلمة المرور = getGridBagConstraints (0،1،1،1،0،0 ، gridbagconstraints.center ، gridbagconstraints.none ، insets new (10،0،10،0) ، 0،0) ؛ Gridbag.setConstraints (JLabel1 ، قيود) ؛ jpanel.add (jlabel1) ؛ // تهيئة قيود مربع نص كلمة المرور = getGridBagConstraints (1،1،1،1،0،0 ، gridbagconstraints.center ، gridbagconstraints.none ، insets new (10،0،10،0) ، 100،0) ؛ Gridbag.setConstraints (JPfield1 ، قيود) ؛ jpanel.add (jpfield1) ؛ // تهيئة زر التسجيل وأضف عنصر التحكم إلى قيود Artboard = getGridBagConstraints (0،2،1،0،0 ، gridbagconstraints.center ، gridbagconstraints.none ، insets (10،0،10،0) ، 0،0) ؛ Gridbag.setConstraints (Jbutton3 ، قيود) ؛ jpanel.add (jbutton3) ؛ // تهيئة قيود زر تسجيل الدخول = getGridBagConstraints (1،2،1،0،0،0 ، gridbagconstraints.center ، gridbagconstraints.none ، insets new (10،0،10،0) ، 0،0) ؛ Gridbag.setConstraints (Jbutton1 ، قيود) ؛ jpanel.add (jbutton1) ؛ . Gridbag.setConstraints (Jbutton2 ، قيود) ؛ jpanel.add (jbutton2) ؛ // أضف Artboard لتشكيل Jframe.add (jpanel) ؛ // تم إكمال تهيئة النموذج} static gridbagconstraints getGridBagconstraints (int gridx ، int gridy ، int gridwidth ، int gridheight ، internx double ، double zeor ، int int ، int int int ipadx ، intady) مرساة ، ملء ، insets ، ipadx ، ipady) ؛ } public static void main (string [] args) {new guit () ؛ jframe.setVisible (صحيح) ؛ }}حيث DDMBG هو اسم الصورة
(2) يظهر التأثير في الشكل:
التصميم هو الأساس وهو أيضًا مهم للغاية في تصميم واجهة المستخدم الرسومية.
لكي تكون بارعًا في استخدام وإتقان التصميمات الرئيسية الثلاثة وغيرهم من مديري التخطيط ، تحتاج إلى ممارسة بنفسك.
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.