powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить/удалить строку в JTable динамически?
2 сообщений из 2, страница 1 из 1
Как добавить/удалить строку в JTable динамически?
    #32775852
ShkVal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне надо добавлять или удалить строки в таблице в процессе работы. Как столбцы добавлять нашёл, а вот динамическое добавление или удаление строк не нашёл. Подскажите как?
...
Рейтинг: 0 / 0
Как добавить/удалить строку в JTable динамически?
    #32776680
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
 class  ScrollingResultSetTableModel  extends  DefaultTableModel {                        
	 private  ResultSet rs;                                                             
	 private   final  String[] columnNames = {"1", "2", "3", "4"};
	 public  ScrollingResultSetTableModel(ResultSet rs) {                               
		 this .rs = rs;                                                                 
	}                                                                                 
	 public  ResultSet getResultSet() {                                                 
		 return  rs;                                                                    
	}                                                                                 
	 public   void  setResultSet(ResultSet rs) {                                          
		 try  {                                                                         
			 this .rs.close();                                                          
		}  catch  (SQLException e) {                                                    
			e.printStackTrace();                                                      
		}                                                                             
		 this .rs = rs;                                                                 
	}                                                                                 
	 public  String getColumnName( int  c) {                                              
		 return  columnNames[c];                                                        
	}                                                                                 
	 public   int  getColumnCount() {                                                     
		 return  columnNames.length;                                                    
	}                                                                                 
	 public   int  getRowCount() {                                                        
		 try  {                                                                         
			 if  (rs !=  null ) {rs.last();  return  rs.getRow();}                          
			 else   return   0 ;							                                  
		}  catch  (Exception e) {                                                       
			e.printStackTrace();                                                      
			 return   0 ;                                                                 
		}                                                                             
	}                                                                                 
	 public   boolean  isCellEditable( int  r,  int  c) {                                     
		 return  false;
	}                                                                                 
	 public  Object getValueAt( int  r,  int  c) {                                          
		 try  {                                                                         
			rs.absolute(r +  1 );                                                       
			 return  rs.getObject(c +  1 );                                               
		}  catch  (Exception e) {                                                       
			e.printStackTrace();                                                      
			 return   null ;                                                              
		}                                                                             
	}                                                                                 
	 public   void  removeRow( int  r) {                                                    
		//delete from db                                                              
		 try  {                                                  
			rs.absolute(r +  1 );
			//delete current row from table                                           
			rs.deleteRow();                                                           
		}  catch  (SQLException e) {                                                    
			e.printStackTrace();                                                      
		}                                                                             
	}                                                                                 
}; // class  ScrollingResultSetTableModel


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 try  {							                         
	scrollstat = conn.createStatement(                   
		ResultSet.TYPE_SCROLL_INSENSITIVE,               
		ResultSet.CONCUR_UPDATABLE);                     
	scrollRs = scrollstat.executeQuery(cmd);             
}  catch  (SQLException e) {                               
	e.printStackTrace();                                 
}                                                        
                                                         
tableModel =  new  ScrollingResultSetTableModel(scrollRs);	
table =  new  JTable(tableModel);
scroll =  new  JScrollPane(table);                         

Собственно удаление
Код: plaintext
1.
 int [] selected = table.getSelectedRows();
tableModel.removeRow(selected[i]);



PS Комменты почему то не комментятся :)
Код: plaintext
}; // class  ScrollingResultSetTableModel
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как добавить/удалить строку в JTable динамически?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]