[英]How to access an object from outside its method
我有一個看似簡單的問題,但無法解決。
這是我的問題的簡化版本:
public void createContents() {
Composite dataCalcComposite = new Composite(shell, SWT.NONE);
dataCalcComposite.setBounds(0, 10, 279, 146);
}
public void repositionObjects() {
dataCalcComposite.setLocation(50, 10)
}
這將不起作用,因為repositonObjects
無法看到dataCalcComposite
變量。
我知道我可以通過在第一個方法中調用repostionObjects
並將變量作為參數傳遞來解決此問題,但這是我的問題的非常簡化的版本,需要重新定位的對象數量會發生變化,所以我不會認為該方法會奏效。
另外,我不能在變量上使用static
,我的IDE表示只有final
可以使用它。
因此,不能在變量上使用static,如何從另一種方法訪問它呢?
您可以移動聲明Composite dataCalcComposite;
在方法之外,因此此變量將成為實例變量。
....
private Composite dataCalcComposite;
public void createContents() {
dataCalcComposite = new Composite(shell, SWT.NONE);
dataCalcComposite.setBounds(0, 10, 279, 146);
}
public void repositionObjects() {
if (dataCalcComposite != null) {
dataCalcComposite.setLocation(50, 10)
}
}
....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.