Мой класс расширен из DefaultTableModel
Я пытаюсь:
super.removeRow(...);
И
this.removeRow(...);
Почему они оба работают?
Мой класс расширен из DefaultTableModel
Я пытаюсь:
super.removeRow(...);
И
this.removeRow(...);
Почему они оба работают?
не ответ, но this.whatever
может быть написан с ошибкой в самом сложном графическом интерфейсе Swing
super.removeRow(...);
И
this.removeRow(...);
должно быть (моя точка зрения, чтобы избежать ....)
myTableModel.removeRow()
- e.g. ((DefaultTableModel) table.getModel()).removeRow(row);
или вы переопределяете в XxxTableModel
public void removeRowAt(int row) {
super
относится к реализации супер (родительского) типа.
this
ссылается на реализацию текущего типа, если она существует, в противном случае ищет дерево наследования, т.е. делает то же самое, что и super
.
В зависимости от того, как ваш класс расширяет DefaultTableModel
, они могут вызывать один и тот же метод.
На самом деле они вызывают один и тот же метод, т.е. removeRow
в родительском классе для вашего случая.
Только в случае, когда вы решите переопределить removeRow
в своем дочернем классе, вы можете сделать вызов super.removeRow()
следующим образом:
@Override
void removeRow() {
// call parent class's removeRow
super.removeRow()
// rest of implementation
}
Your class
этоDefaultTableModel
- person nachokk   schedule 10.09.2013defaulttablemodel
илиswing
этоoop
- person nachokk   schedule 10.09.2013why.........
? - person Sajad   schedule 10.09.2013