これまでのところ、私は内部クラスの範囲からthis
にアクセスするには、このアプローチを使用しました:内部クラスの内部で使用するために 'this'を明示的に参照した場合はどうなりますか?
referenceToThis
を宣言する、直接参照は次のように私のために保持され
class FooManagementWindow extends JFrame {
JButton rejectFoo;
//...
void getFooAcceptingPanel(){
//...
final FooManagementWindow referenceToThis = this;
rejectFoo = new JButton("Reject");
rejectFoo.addEventListener(new EventListener() {
@Override
public void actionPerformed(ActionEvent arg) {
referenceToThis.setEnabled(false); //this requires a network call
//...
referenceToThis.setEnabled(true); //the user may resume his work
}
});
//...
}
}
しかし、私はちょうどlearned
FooManagementWindow.this
私の標準的ではないアプローチがエラーや奇妙なコーナーケースにつながるとは考えにくいです。それとも?
いいえ、私は戻って、すべてのインスタンスを修正する時間がありません。 – badp
He-he、それは私がClassNameについて見つけられるまで私が使っていたものです。このようなもの:) – Bogdan