مرحبًا يا من هناك! كمورد لشاشات التأرجح ، كان لدي حصتي العادلة من التجارب التي تتعامل مع جميع أنواع الجوانب الفنية المتعلقة بهذه الأجهزة الأنيقة. أحد الأسئلة التي تظهر في كثير من الأحيان هو كيفية التعامل مع أحداث اختيار خلية الجدول على شاشة التأرجح. في هذه المدونة ، سأمشي لك خلال العملية خطوة بخطوة ومشاركة بعض النصائح والحيل التي التقطتها على طول الطريق.
أولاً ، دعنا نتحدث عن سبب أهمية التعامل مع أحداث اختيار خلايا الجدول. عندما تعمل مع شاشة التأرجح ، قد يكون لديك جدول يعرض مجموعة من البيانات. وأحيانًا ، تريد أن تفعل شيئًا عندما يختار المستخدم خلية معينة في هذا الجدول. ربما ترغب في عرض معلومات أكثر تفصيلاً حول البيانات الموجودة في تلك الخلية ، أو تريد تنفيذ بعض الإجراءات بناءً على التحديد. أيا كان السبب ، فإن القدرة على التعامل مع هذه الأحداث بفعالية يمكن أن تعزز تجربة المستخدم لتطبيقك بشكل كبير.
لذا ، كيف يمكننا التعامل مع أحداث اختيار خلايا الجدول؟ حسنًا ، أول ما عليك القيام به هو فهم الهيكل الأساسي لجدول ما في تطبيق التأرجح. في جافا سوينغ ، يتم تمثيل الجداول بواسطةJtableفصل. يوفر هذا الفئة الكثير من الوظائف لإنشاء الجداول وإدارتها ، بما في ذلك أحداث الاختيار.
للتعامل مع أحداث اختيار خلية الجدول ، تحتاج إلى إضافة أListSelectionListenerإلى نموذج اختيار الجدول. نموذج الاختيار مسؤول عن تتبع الخلايا التي يتم اختيارها حاليًا في الجدول. إليك مثال بسيط على كيفية القيام بذلك:
استيراد javax.swing.*؛ استيراد javax.swing.event.listelectionevent ؛ استيراد javax.swing.event.listelectionListener ؛ الفئة العامة tableSelectionExample {public static void main (string [] args) {// إنشاء سلسلة jtable [] columnnames = {"name" ، "Age" ، "City"} ؛ Object [] [] Data = {"John" ، 25 ، "New York"} ، {"Jane" ، 30 ، "Los Angeles"} ، {"Bob" ، 35 ، "Chicago"}} ؛ جدول JTable = JTable جديد (البيانات ، أسماء الأعمدة) ؛ // احصل على نموذج اختيار الطاولة الخاص بـ ListSelectionModel SelectionModel = table.getSelectionModel () ؛ // أضف listseSeSeSeSelectionListener إلى نموذج الاختيار selectionmodel.addlisteselectionListener (new listseSeSeSeSeLectEner () {override public void valuechanged (listseSeSelectionE e) {if (! && selectColumn! = -1) {Object SelectLue = table.getValueat (SelectRow ، SelectLumn) ؛ // إنشاء JFrame وأضف الجدول إليه إطار Jframe = جديد JFrame ("مثال تحديد الجدول") ؛ Frame.Add (New JScrollpane (الجدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (صحيح) ؛ }}
في هذا المثال ، نقوم أولاً بإنشاء جديدJtableمع بعض بيانات العينة. ثم ، نحصل على نموذج اختيار الجدول ونضيف أListSelectionListenerلذلك. الvaluchangedطريقةListSelectionListenerيتم استدعاؤه عندما يتغير التحديد في الجدول. داخل هذه الطريقة ، نتحقق مما إذا كان التحديد لا يزال قيد التعديل (لتجنب مكالمات متعددة عندما يقوم المستخدم بسحب الماوس لتحديد خلايا متعددة). إذا لم يتم ضبط التحديد ، نحصل على مؤشرات الصف والعمود المحددة ، ثم استرجعوا قيمة الخلية المحددة باستخدامgetValueatطريقةJtableفصل.
الآن ، دعنا نقول أنك تريد أن تفعل شيئًا أكثر تعقيدًا عند اختيار الخلية. على سبيل المثال ، قد ترغب في عرض مربع حوار يحتوي على معلومات أكثر تفصيلاً حول البيانات الموجودة في الخلية المحددة. إليك كيفية تعديل المثال السابق لتحقيق ذلك:
استيراد javax.swing.*؛ استيراد javax.swing.event.listelectionevent ؛ استيراد javax.swing.event.listelectionListener ؛ الفئة العامة tableSelectionExample {public static void main (string [] args) {// إنشاء سلسلة jtable [] columnnames = {"name" ، "Age" ، "City"} ؛ Object [] [] Data = {"John" ، 25 ، "New York"} ، {"Jane" ، 30 ، "Los Angeles"} ، {"Bob" ، 35 ، "Chicago"}} ؛ جدول JTable = JTable جديد (البيانات ، أسماء الأعمدة) ؛ // احصل على نموذج اختيار الطاولة الخاص بـ ListSelectionModel SelectionModel = table.getSelectionModel () ؛ // أضف listseSeSeSeSelectionListener إلى نموذج الاختيار selectionmodel.addlisteselectionListener (new listseSeSeSeSeLectEner () {override public void valuechanged (listseSeSelectionE e) {if (! && selectcolumn! = -1) // إنشاء JFrame وأضف الجدول إليه إطار Jframe = جديد JFrame ("مثال تحديد الجدول") ؛ Frame.Add (New JScrollpane (الجدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (صحيح) ؛ }}
في هذا المثال المعدل ، نستخدم ملفJoptionpaneفئة لعرض مربع حوار مع القيمة المحددة عند تحديد خلية.
شيء آخر قد ترغب في القيام به هو التعامل مع اختيارات الخلايا المتعددة. بشكل افتراضي ، وJtableيسمح للمستخدم بتحديد خلايا متعددة عن طريق الضغط علىكنترولالمفتاح (على Windows) أويأمرالمفتاح (على MAC) أثناء النقر على الخلايا. للتعامل مع اختيارات الخلايا المتعددة ، يمكنك الحلقة من خلال الصفوف والأعمدة المحددة وإجراء الإجراء المطلوب لكل خلية محددة. هذا مثال:
استيراد javax.swing.*؛ استيراد javax.swing.event.listelectionevent ؛ استيراد javax.swing.event.listelectionListener ؛ الفئة العامة tableSelectionExample {public static void main (string [] args) {// إنشاء سلسلة jtable [] columnnames = {"name" ، "Age" ، "City"} ؛ Object [] [] Data = {"John" ، 25 ، "New York"} ، {"Jane" ، 30 ، "Los Angeles"} ، {"Bob" ، 35 ، "Chicago"}} ؛ جدول JTable = JTable جديد (البيانات ، أسماء الأعمدة) ؛ // احصل على نموذج اختيار الطاولة الخاص بـ ListSelectionModel SelectionModel = table.getSelectionModel () ؛ // أضف listseSeSeSeSelectionListener إلى نموذج الاختيار selectionmodel.addlisteselectionListener (new ListSeSeSeSeSelectionEner () {Override public void valuechanged (listseSeSeSelection E) {if (! الصف: selectRows) {for (int col: selectcolumns) {completvalue = table.getValueat (row ، col) ؛ // إنشاء JFrame وأضف الجدول إليه إطار Jframe = جديد JFrame ("مثال تحديد الجدول") ؛ Frame.Add (New JScrollpane (الجدول)) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.pack () ؛ frame.setVisible (صحيح) ؛ }}
في هذا المثال ، نستخدم ملفgetSelectedRowsوgetSelectedColumnsطرقJtableفئة للحصول على صفائف من مؤشرات الصف والعمود المحددة. بعد ذلك ، نقوم بتركيب هذه المصفوفات ونسترجع قيمة كل خلية محددة.


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