Страницы

Поиск по вопросам

четверг, 13 февраля 2020 г.

как правильно переопределить метод SetValueAt()?

#java


при переопределении данного метода выдается ошибка:


  The left-hand side of an assignment must be a variable.


Как ее убрать?

Фрагмент кода программы :

public class AbstrTableModel extends AbstractTableModel {


 HashMap hashMap;
 public static int key = 0;
 private File fin;
 private Scanner fileScanner;

 public AbstrTableModel(){
    AbstrTableModel.key = 0;
    hashMap = new  HashMap();
}

//-------------------------------------

 @Override
 public void setValueAt(Object value, int rowIndex, int columnIndex){
  switch(columnIndex){
    case 1:
        hashMap.get(rowIndex).setModel() = (String)value;
        return;
    case 2:
        hashMap.get(rowIndex).setRazmer() = (Double)value;
        return;
    case 3:
        hashMap.get(rowIndex).setTip_displeya()= (String)value;
        return;
    case 4:
        hashMap.get(rowIndex).setVmFlash()= (Integer)value;
        return;
   }
 }
}

    


Ответы

Ответ 1



Ошибка значит - "в левой части оператора присваивания должна быть переменная". Вы не можете использовать конструкцию hashMap.get(rowIndex).setModel() в левой части операции присваивания. Если setModel() -метод-сеттер, то он и должен устанавливать какое то значение через свой аргумент.

Ответ 2



Ругается на строки hashMap.get(rowIndex).setModel() = (String)value; Выражение слева должно быть переменной. Попробуйте так hashMap.get(rowIndex).setModel( (String)value) ;

Комментариев нет:

Отправить комментарий