是否有可能讀取getIcon參數,以便稍後將方法分配給方法中的某個變量,以便根據其他條件更改圖標文件。如何在其他方法中使用參數作爲變量
private ExampleAction exampleAction = new ExampleAction("End",
Resources.getIcon("end22")...;
我不想在現場改變它,但如果需要的話,稍後重新定義getIcon(「x」)。
是否有可能讀取getIcon參數,以便稍後將方法分配給方法中的某個變量,以便根據其他條件更改圖標文件。如何在其他方法中使用參數作爲變量
private ExampleAction exampleAction = new ExampleAction("End",
Resources.getIcon("end22")...;
我不想在現場改變它,但如果需要的話,稍後重新定義getIcon(「x」)。
使用Java 8,您可以傳入一個函數,在需要時進行調用,例如,
class ExampleAction {
ExampleAction(... , Supplier<Icon> s, ...) { ... }
Icon getIcon() {
return s.get();
}
}
此外,你可以在一些地方保存圖標名稱,爲簡單起見,我將在某個類中使用變量:
class Icons {
String exampleIconName;
}
然後調用它像這樣:
Icons icons = ...;//You get it from somewhere
new ExampleAction(..., i->Resources.getIcon(icons.exampleIconName), ...)
然後你可以在運行時將icons.exampleIconName
更改爲任何你想要的。
或者你只是傳遞Icons
,存儲圖標本身就存在並替換它,如果需要:
class Icons {
Icon exampleIcon;
}
class ExampleAction {
ExampleAction(... , Icons icons, ...) { ... }
Icon getIcon() {
return icons.exampleIcon;
}
}
從我的理解是,你想讀「exampleAction」對象
只要該變量是可訪問的,這是可能的。根據你的情況,因爲這是私人所以exampleAction可以在同一類即ExampleAction內讀取
如果你想外面讀宣佈將返回對象或 創造公共的方法設置值「exampleAction」
公共方法
你可以在你的問題中添加更多細節嗎? – anacron
除非'ExampleAction'有一個setter來更改圖標,否則不會。 –
很難說不知道'ExampleAction'類。 – domsson