我有一個擴展了JPanel的類。在其構造函數中,我將this
傳遞給其他方法,主要是將jpanel對象作爲偵聽器添加到jpanel中的容器/控件(也包括其他對象)中。由於Netbeans爲這些調用顯示了一條leaking this in constructor
警告,因此我將它們放在另一個從構造函數中調用的方法中。在構造函數中泄漏 - 正確添加需要「this」的偵聽器和其他方法
前:
class Foo ... {
public Foo() {
initComponents();
tabX.addChangeListener(this); // <- netbeans complains here
}
後:
class Foo ... {
public Foo() {
initComponents();
initListeners();
}
protected void initListeners() {
tabX.addChangeListener(this);
}
這擺脫了症狀。但我懷疑它修復了NetBeans顯示警告的原因。
在JPanel派生類中進行這種初始化的適當位置在哪裏?
不知道我遵循你可以發佈方法簽名了,你的「修復」 – Woot4Moo 2012-03-19 16:52:01
這可能會幫助你http://stackoverflow.com/questions/3921616/java-leaking-this-in-constructor – Chikei 2012-03-19 16:52:36
[Java - Leaking這在構造函數](http://stackoverflow.com/q/3921616/1048330) – tenorsax 2012-03-19 17:08:59