إنشاء واستخدام الفلاتر متعددة / بحث باستخدام JTable أو GlazedLists

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

سؤال

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

  // nameE is a BasicEventList containing classes (name) which 
  // contain the table values
  TextFilterList filtered = new TextFilterList(nameE);
  JTextField filterEdit = filtered.getFilterEdit();

  // Inside the table value class (name) there is a filter for myName
  public void getFilterStrings(List baseList) {
      baseList.add(myName);
  }

وتكرار رمز وخلق JTextField لا يعمل. نظرت هذه المشكلة حتى ويبدو CompositeMatcherEditor قد تعمل. المشكلة هي أنني لا أعرف كيفية تنفيذ ذلك.

وكما أستخدمه الكسوف. أنا تحميل GlazedLists 1.8.0 وأسقطته في الكسوف. ومع ذلك، لا يمكن استخدامه. لدي المربعات الحمراء في جميع أنحاء (باستثناء المجلد المصدر)! حتى أضفت ملف جرة.

وأرجو أن أكون قد أوضحت نفسي بشكل صحيح. واسمحوا لي أن أعرف إذا كنت بحاجة إلى توسيع.

وبلدي باستبين: اسم و <لأ href = "http://pastebin.org/47045" يختلط = "نوفولو noreferrer"> متصفح أو TableFormat و <لأ href = "HTTP: // باستبين كافيه / 47047 "يختلط =" نوفولو noreferrer "> TableModel

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

المحلول

وتم إهمال TextFilterList - راجع في javadocs - ولكن هذا قضية جانبية

وهناك عدة طرق يمكنك استخدامها هنا - إذا كنت تريد حقا بسيطة، ثم مجرد التفاف قائمة الفلتر في قائمة مرشح آخر:

EventList filtered = new FilterList(new FilterList(nameE, myFirstMatcherEditor), mySecondMatcherEditor);

وهناك طريقة أفضل لاستخدام العديد من المحررين المنظر لإنشاء <لأ href = "http://www.publicobject.com/glazedlists/glazedlists-1.5.0/api/ca/odell/glazedlists/matchers/CompositeMatcherEditor. أتش تي أم أل "يختلط =" noreferrer "> CompositeMatcherEditor :

EventList filtered = new FilterList(nameE, new CompositeMatcherEditor(myFirstMatcherEditor, mySecondMatcherEditor));

ويمكنك استخدام setMode للتحكم سواء المحررين الخاصة بك يتم الجمع بين استخدام AND أو OR السلوك.

وهنا يجب قراءة المعلومات على استخدام قوائم التصفية.

وهذا قطات للشاشة متاح هنا هي أيضا تستحق قليل من الاستثمار دقائق.

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