الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

tableChanged(TableModelEvent e)

بدأه ريحانة الاقصى في 25 مايو 2012 · 3 رد · 453 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عند استخدام الدالة

@Override

public void tableChanged(TableModelEvent e){

تتابع التغييرات الحاصلة بالجدول بمجرد اختيار خلية معينة وليس تغيير محتواياتها

كيف اجعله ياخذ الحدث فقط عند تغيير محتويات الخلية وليس الدخول اليها

    public void AddInputConstraint(){

         DefaultTableModel jdtm=  (DefaultTableModel) jTable1.getModel();
      jdtm.addTableModelListener(new TableModelListener(){
            @Override
            public void tableChanged(TableModelEvent e){

        itsRow3=jTable1.getSelectedRow();
        itsColumn3=jTable1.getSelectedColumn();

       if(jTable1.getSelectedColumnCount()!=0) {
       String s= (String) jTable1.getValueAt(jTable1.getSelectedRow(), jTable1.getSelectedColumn());

         if(jTable1.getSelectedColumn()==0){
          if( firstcolumn.isEmpty()) // firstcolumn array to check dublicat
              firstcolumn.add(s);
          else
           if(Areduplicate(s)==true){
               jTable1.setValueAt(null, jTable1.getSelectedRow(), jTable1.getSelectedColumn());
               jTable1.setDefaultRenderer(Object.class, new AttributiveCellRenderer2());        
           }
           else if(Areduplicate(s)==false){
              jTable1.setDefaultRenderer(Object.class, new AttributiveCellRenderer());
               if(s!=null)
                firstcolumn.add(s); 
           }

         }
        if(jTable1.getSelectedColumn()!=0){
           if(isNumeric(s)==false){
                  jTable1.setValueAt(null, jTable1.getSelectedRow(), jTable1.getSelectedColumn());
               jTable1.setDefaultRenderer(Object.class, new AttributiveCellRenderer2());        

            }
            else{
          jTable1.setDefaultRenderer(Object.class, new AttributiveCellRenderer()); 
            }   
        }
        }
   }
        });

    }

انا يوجد لدي جدول اريد ان اضمن ان العمود الاول منه غير مكرر فيه ولا قيمة

والكود المرفق يفعل لك ولكن عند تحديد خلية مكتوب بها سابقا يعتبر الدخول chang وياخذ القيمة السابقة والتي هي موجودة اصلا بالتالي تحث لي مشكلة هنا

#2

اعد كتابة الدالة setValueAt

من ال TableModel وعندها تتحكم فى القيم كما تشاء

بالتوفيق


﴿وَمَا كَانَ اللَّهُ لِيُعَذِّبَهُمْ وَأَنْتَ فِيهِمْ ۚ وَمَا كَانَ اللَّهُ مُعَذِّبَهُمْ وَهُمْ يَسْتَغْفِرُونَ﴾

الأنفال ۳۳                                  
 

#3

قومي بزبط الأمور عن طريق الشيفرة

String value=default value

عندما يحصل الحدث قارني القيمة السابقة بالحالية وعلى أساسها قومي أو لا تقومي بما تقومين به حالياً

لا علم لي بهذا الحدث لكني أتكلم من ناحية منطقية

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#4

.

تم تعديل هذه المشاركة بواسطة محمد1991 في 27 مايو 2012 في 22:05