مقدمة
Swing هي مجموعة أدوات تطوير لتطوير واجهة المستخدم لتطبيقات Java. يعتمد على مجموعة أدوات النافذة المجردة (AWT) لتمكين تطبيقات المنصات عبر الأنظمة الأساسية لاستخدام أي نمط مظهر قابل للتوصيل. يمكن للمطورين الأرجوحة استخدام ميزات Swing الغنية والمرنة والمكونات المعيارية لإنشاء واجهة مستخدم أنيقة مع رمز صغير جدًا.
الأرجوحة هي مجموعة أدوات واجهة المستخدم الرسومية مصممة لجافا.
الأرجوحة هي جزء من فئة Java الأساسية.
يتضمن Swing أجهزة واجهة المستخدم الرسومية (GUI) مثل مربعات النص والأزرار والفصل بين الأجزاء والجداول.
يوفر Swing العديد من عناصر عرض الشاشة أفضل من AWT. يتم كتابتها في Java النقي ، حتى يتمكنوا من الركض عبر منصات تمامًا مثل Java نفسها ، والتي ليست مثل Awt. هم جزء من JFC. إنهم يدعمون الألواح والموضوعات القابلة للاستبدال (موضوعات محددة لمختلف أنظمة التشغيل الافتراضية) ، ولكن بدلاً من استخدام الأجهزة التي توفرها المنصات الأصلية حقًا ، فإنها تحاكيها ببساطة على السطح. هذا يعني أنه يمكنك استخدام أي لوحة تدعمها Java على أي منصة. إن عيب المكونات الخفيفة الوزن هو أنها بطيئة في التنفيذ ، والميزة هي أنه يمكنهم تبني سلوك موحد على جميع المنصات.
مرحبا برامج العالم
رمز ملف HelloWorldswing.java كما يلي:
استيراد javax.swing.*؛ الطبقة العامة HelloWorLdswing { /** {*إنشاء وعرض واجهة المستخدم الرسومية. لأسباب تتعلق بسلامة الخيط ، يتم استدعاء * في مؤشر ترابط استدعاء الحدث. */ private static void createAndShowGui () {// ضمان نمط مظهر جميل jframe.setDefaultlookandfeelDecorated (true) ؛ // إنشاء وتعيين نافذة JFRAME Frame = new JFrame ("HelloWorLdswing") ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ // أضف "Hello World" علامة Jlabel Label = New JLabel ("Hello World") ؛ frame.getContentPane (). Add (label) ؛ // show window frame.pack () ؛ frame.setVisible (صحيح) ؛ } public static void main (string [] args) {// عرض تطبيق gui javax.swing.swingutilities.invokelater (new runnable () {public void run () {createAndShowgui () ؛}}) ؛ }} قم بتنفيذ الأمر التالي لإخراج النتيجة:
$ javac helloworldswing.java $ java helloworldswing
مثيل لمربع تسجيل الدخول للمستخدم
رمز ملف swingloginexample.java كما يلي:
استيراد javax.swing.jbutton ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.jlabel ؛ استيراد javax.swing.jpanel ؛ استيراد javax.swing.jpasswordfield ؛ استيراد javax.swing.jtextfield ؛ الفئة العامة swingloginexample {public static void main (string [] args) {// إنشاء jframe مثيل JFrame = new JFrame ("تسجيل الدخول") ؛ // تحديد عرض وارتفاع الإطار. setsize (350 ، 200) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ /* إنشاء لوحة ، هذه علامة DIV تشبه HTML* يمكننا إنشاء لوحات متعددة وتحديد مواقع في JFRAME* في اللوحة يمكننا إضافة حقول نصية وأزرار ومكونات أخرى. */ jpanel لوحة = new JPanel () ؛ // إضافة لوحة frame.add (لوحة) ؛ / * * اتصل بالأساليب المعرفة من قبل المستخدم وإضافة مكونات إلى اللوحة */ placeComponents (لوحة) ؛ // قم بتعيين الواجهة على Frame.setVisible (True) ؛ } placeComponents static placeComponents (JPanel) { /* لن نقدم جزء التخطيط هنا* قم بتعيين التصميم على null* / panel.setlayout (null) ؛ // إنشاء jlabel jlabel userLabel = new JLabel ("user:") ؛ /* تحدد هذه الطريقة موقع المكون. * setBounds (x ، y ، العرض ، الارتفاع) * x و y حدد الموضع الجديد في الزاوية اليسرى العلوية ، والعرض والارتفاع يحدد الحجم الجديد. */ userLabel.setBounds (10،20،80،25) ؛ panel.add (userLabel) ؛ /** إنشاء حقل نص لإدخال المستخدم*/ jtextfield usertext = new JTextField (20) ؛ userText.setBounds (100،20،165،25) ؛ panel.add (userText) ؛ ] passwordlabel.setBounds (10،50،80،25) ؛ panel.add (passwordLabel) ؛ /** حقل النص هذا على غرار الإدخال* ومع ذلك ، سيتم استبدال معلومات الإدخال بنقاط ، والتي يتم استخدامها لاحتواء أمان كلمة المرور*/ jPasswordfield PasswordText = New JPasswordfield (20) ؛ passwordtext.setBounds (100،50،165،25) ؛ panel.add (passwordText) ؛ // إنشاء زر تسجيل الدخول jbutton loginbutton = new jbutton ("login") ؛ loginbutton.setBounds (10 ، 80 ، 80 ، 25) ؛ Pane.add (loginbutton) ؛ }}قم بتنفيذ الأمر التالي لإخراج النتيجة:
$ javac swingloginexample.java $ java swingloginexample
تحليل المفهوم:
تعتمد الفكرة الأساسية لبرنامج JFARE Java's GUI على JFRAME ، وهو كائن من النافذة على الشاشة ، والتي يمكن تعظيمها وتقليلها وإغلاقها.
يتم تضمين مجموعة أدوات حاوية اللوحة في مجموعة أدوات واجهة المستخدم JPANEL JAVA (GUI) في حزمة Javax.swing ويمكن تداخلها. وظيفتها هي الجمع بين المكونات مع نفس الوظائف المنطقية في النموذج. إنها حاوية خفيفة الوزن يمكن إضافتها إلى نموذج JFRAME. .
يمكن لـ JLabel A JLabel عرض النص أو الصور أو كليهما. يمكنك تحديد المكان الذي تتم محاذاة محتويات العلامات في منطقة عرض العلامة عن طريق ضبط المحاذاة الرأسية والأفقية. بشكل افتراضي ، تتمحور الملصقات رأسياً داخل منطقة العرض الخاصة بهم. بشكل افتراضي ، يتم محاذاة الملصقات التي تعرض النص فقط في حواف البداية ؛ تتم محاذاة الملصقات التي تعرض الصور فقط في الوسط أفقياً.
JTextField هو مكون خفيف الوزن يسمح بتحرير نص الخط الواحد.
يتيح لنا jPasswordfield إدخال مجموعة من الكلمات مثل مربع الإدخال ، ولكن إخفاء النجمة (*) أو نقطة إنشاء كلمة مرور (كلمة مرور)
jbutton مثال من فئة jbutton. تستخدم لإنشاء أزرار مشابهة لـ "تسجيل الدخول" في الحالات.
حسنًا ، لقد انتهى هذا المقال. كل ما نتحدث عنه هنا هو المعرفة الأساسية. مع هذا الأساس ، ليس من الصعب تصميم واجهة مستخدم رسومية أكثر تعقيدًا!