Я хочу очистить свою собственную TableModel и получить следующее исключение:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.Test.gui.results.ResultTableModel cannot be cast to javax.swing.table.DefaultTableModel
Я хочу очистить свою модель следующим образом:
DefaultTableModel model = (DefaultTableModel) resultTable.getModel();
model.setRowCount(0);
Это моя модель таблицы результатов:
public class ResultTableModel extends AbstractTableModel {
/**
* UUID
*/
private static final long serialVersionUID = -8928042813952799089L;
private String[] columnNames = {"Customer", "Test1"};
private List resultList = new ArrayList();
private TestData rs;
public ResultTableModel(List resultList){
this.resultList=resultList;
}
@Override
public int getRowCount() {
return resultList.size();
}
/**
* get Value at
*/
public Object getValueAt(int row, int col) {
TestData r = resultList.get(row);
switch (col) {
case 0:
return r.getCustomer();
case 1:
return r.getEquity();
case 2:
return r.getCyclicalRiskMarketAvg();
case 3:
return r.getDscr_1();
case 4:
return r.getDscr_2();
case 5:
return r.getDscr_3();
case 6:
return r.getDscr_4();
case 7:
return r.getDscr_5();
case 8:
return r.getDscr_6();
case 9:
return r.getDscr_7();
case 10:
return r.getDscr_8();
case 11:
return r.getDscr_9();
case 12:
return r.getDscr_10();
case 13:
return r.getLtv_1();
case 14:
return r.getLtv_2();
case 15:
return r.getLtv_3();
case 16:
return r.getLtv_4();
case 17:
return r.getLtv_5();
case 18:
return r.getLtv_6();
case 19:
return r.getLtv_7();
case 20:
return r.getLtv_8();
case 21:
return r.getLtv_9();
case 22:
return r.getLtv_10();
default:
break;
}
fireTableDataChanged();
return null;
}
public void setTestData(TestData rd){
resultList.add(rd);
fireTableRowsInserted(resultList.size()-1, resultList.size()-1);
}
@Override
public String getColumnName(int index) {
return columnNames[index];
}
@Override
public int getColumnCount() {
return columnNames.length;
}
/**
* @return the columnNames
*/
public String[] getColumnNames() {
return columnNames;
}
/**
* @param columnNames the columnNames to set
*/
public void setColumnNames(String[] columnNames) {
this.columnNames = columnNames;
}
/**
* checks if the cells are editable
*/
public boolean isCellEditable(int row, int col) {
return false;
}
/**
* @return the resultList
*/
public List getResultList() {
return resultList;
}
/**
* @param resultList the resultList to set
*/
public void setResultList(List resultList) {
this.resultList = resultList;
}
/**
*
* @return
*/
public TestData getRs() {
return rs;
}
/**
* @param rs the rs to set
*/
public void setRs(TestData rs) {
this.rs = rs;
}
}
Я понимаю, что мой актерский состав не работает. Однако я хотел бы очистить свою модель.
Посоветуйте, как очистить мою модель?
Я ценю Ваш ответ!
ОБНОВЛЕНИЕ
Я добавил этот метод в свою TableModel:
public void clear() {
for (int i = 0; i < resultList.size(); i++) {
resultList.remove(i);
}
fireTableRowsDeleted(0, getRowCount());
}
Однако теперь, когда я нажимаю кнопку, удаляются только некоторые строки, что мне кажется крайне случайным.
ОБНОВЛЕНИЕ 2
Это решение работает:
public void clear() {
resultList.clear();
fireTableRowsDeleted(0, getRowCount());
}
Подробнее здесь: https://stackoverflow.com/questions/271 ... tablemodel
TableModel нельзя привести к javax.swing.table.DefaultTableModel ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1733068090
Anonymous
Я хочу очистить свою собственную TableModel и получить следующее исключение:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: com.Test.gui.results.ResultTableModel cannot be cast to javax.swing.table.DefaultTableModel
Я хочу очистить свою модель следующим образом:
DefaultTableModel model = (DefaultTableModel) resultTable.getModel();
model.setRowCount(0);
Это моя модель таблицы результатов:
public class ResultTableModel extends AbstractTableModel {
/**
* UUID
*/
private static final long serialVersionUID = -8928042813952799089L;
private String[] columnNames = {"Customer", "Test1"};
private List resultList = new ArrayList();
private TestData rs;
public ResultTableModel(List resultList){
this.resultList=resultList;
}
@Override
public int getRowCount() {
return resultList.size();
}
/**
* get Value at
*/
public Object getValueAt(int row, int col) {
TestData r = resultList.get(row);
switch (col) {
case 0:
return r.getCustomer();
case 1:
return r.getEquity();
case 2:
return r.getCyclicalRiskMarketAvg();
case 3:
return r.getDscr_1();
case 4:
return r.getDscr_2();
case 5:
return r.getDscr_3();
case 6:
return r.getDscr_4();
case 7:
return r.getDscr_5();
case 8:
return r.getDscr_6();
case 9:
return r.getDscr_7();
case 10:
return r.getDscr_8();
case 11:
return r.getDscr_9();
case 12:
return r.getDscr_10();
case 13:
return r.getLtv_1();
case 14:
return r.getLtv_2();
case 15:
return r.getLtv_3();
case 16:
return r.getLtv_4();
case 17:
return r.getLtv_5();
case 18:
return r.getLtv_6();
case 19:
return r.getLtv_7();
case 20:
return r.getLtv_8();
case 21:
return r.getLtv_9();
case 22:
return r.getLtv_10();
default:
break;
}
fireTableDataChanged();
return null;
}
public void setTestData(TestData rd){
resultList.add(rd);
fireTableRowsInserted(resultList.size()-1, resultList.size()-1);
}
@Override
public String getColumnName(int index) {
return columnNames[index];
}
@Override
public int getColumnCount() {
return columnNames.length;
}
/**
* @return the columnNames
*/
public String[] getColumnNames() {
return columnNames;
}
/**
* @param columnNames the columnNames to set
*/
public void setColumnNames(String[] columnNames) {
this.columnNames = columnNames;
}
/**
* checks if the cells are editable
*/
public boolean isCellEditable(int row, int col) {
return false;
}
/**
* @return the resultList
*/
public List getResultList() {
return resultList;
}
/**
* @param resultList the resultList to set
*/
public void setResultList(List resultList) {
this.resultList = resultList;
}
/**
*
* @return
*/
public TestData getRs() {
return rs;
}
/**
* @param rs the rs to set
*/
public void setRs(TestData rs) {
this.rs = rs;
}
}
Я понимаю, что мой актерский состав не работает. Однако я хотел бы очистить свою модель.
Посоветуйте, как очистить мою модель?
Я ценю Ваш ответ!
[b]ОБНОВЛЕНИЕ[/b]
Я добавил этот метод в свою TableModel:
public void clear() {
for (int i = 0; i < resultList.size(); i++) {
resultList.remove(i);
}
fireTableRowsDeleted(0, getRowCount());
}
Однако теперь, когда я нажимаю кнопку, удаляются только некоторые строки, что мне кажется крайне случайным.
[b]ОБНОВЛЕНИЕ 2[/b]
Это решение работает:
public void clear() {
resultList.clear();
fireTableRowsDeleted(0, getRowCount());
}
Подробнее здесь: [url]https://stackoverflow.com/questions/27127634/tablemodel-cannot-be-cast-to-javax-swing-table-defaulttablemodel[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия