2016-03-15 2 views
0

Как сделать ячейки JTable недоступными для редактирования, но выбираемыми. Ниже код JTable значение столбца ........make jtable не редактируется

DefaultTableModel dtmPrefix = new DefaultTableModel(); 
    dtmPrefix.addColumn("Code"); 
    dtmPrefix.addColumn("Name"); 
    dtmPrefix.addColumn("Quantity"); 
    dtmPrefix.addColumn("Price"); 
    try { 
     Connection conn= Dbutil.getlocalConnection(); 
     String queryPrefix = "SELECT * FROM product_master"; 
     st = conn.createStatement(); 
     rs = st.executeQuery(queryPrefix); 
     while(rs.next()){ 
      dtmPrefix.addRow(new Object[]{ 
       rs.getString(2) , 
       rs.getString(3), 
       rs.getString(5) , 
       rs.getString(6), 
      }); 
      jTable1.setModel(dtmPrefix); 
      jTable1.setEditingColumn(false); 
      jTable1.editingCanceled(e); 
     } 
    } catch ( Exception ex) { 
    } 

ответ

2

isCellEditable(...) Переопределить метод вашего DefaultTableModel вернуть false.

jTable1.setEditingColumn(false); 
jTable1.editingCanceled(e); 

Вышеприведенные утверждения ничего не делают. Они просто изменяют свойство таблицы, чтобы сказать, что в настоящее время не редактируется кедл, но это не мешает редактированию ячейки. Поэтому вы можете избавиться от этих утверждений.

+0

plz exaplain четко с кодом –

+1

Это объясняется четко. Какую часть решения вы не понимаете? Поясните свое замешательство с предложением. Отправьте свою попытку переопределить метод, и мы можем помочь исправить его, если он все еще не работает, но мы не здесь, чтобы написать код для вас. – camickr

Смежные вопросы