範例

public class ClassA {

private Font font;

public void makeFont(Device device, FontData fd) {

font = new Font(device, fd );

if ( !font.isDisposed() ) {
//執行某種動作...
}
}
}



解決方案
若要避免資源洩漏,請確定在每個 org.eclipse.swt.graphics.Font 上都呼叫了 dispose()。
附註:這個規則適用於任何形式的 Font 建構子。


public class ClassA {

private Font font;

public void makeFont(Device device, FontData fd) {

font = new Font(device, fd);

if ( !font.isDisposed() ) {
//執行某種動作...
}
font.dispose();
}
}