Tengo una clase que amplía JPanel. En su constructor estoy pasando this
a otros métodos, principalmente para agregar el objeto jpanel como un oyente a contenedores/controles dentro del jpanel (pero también a otros objetos). Dado que Netbeans muestra una advertencia leaking this in constructor
para esas llamadas, las puse en otro método que se llama desde el constructor.Se está escapando esto en el constructor - dónde agregar oyentes y otros métodos que requieren "esto"
antes:
class Foo ... {
public Foo() {
initComponents();
tabX.addChangeListener(this); // <- netbeans complains here
}
después:
class Foo ... {
public Foo() {
initComponents();
initListeners();
}
protected void initListeners() {
tabX.addChangeListener(this);
}
que se deshace de los síntomas. Pero dudo que solucione la razón por la cual Netbeans muestra la advertencia.
¿Dónde está el lugar adecuado para realizar este tipo de inicialización en una clase derivada de JPanel?
no seguro de entender que se puede publicar la firma del método y su "fijar" – Woot4Moo
esto podría ayudarle a http://stackoverflow.com/questions/3921616/java-leaking-this-in-constructor – Chikei
[Java - Fugas esto en constructor] (http://stackoverflow.com/q/3921616/1048330) – tenorsax