我有一個簡單的SWT應用程序,它包含菜單和控件。我在應用程序中使用了文本和表格以及樹,我需要顯式調用dispose方法來清除當前對象,並給出在屏幕上顯示其他小部件的空間。如果小部件尚未激活,當我致電時系統崩潰處置方法。是否有更好的方法可用於處理活動的小部件,併爲另一個小部件提供空間如何高效地處理SWT中的資源。
2
A
回答
2
如果實際需要處理小部件,則可以保留已添加的項目列表。只處置已添加到列表中的項目。
所以我會重寫JFrame與我的主要容器類,並有一個或兩個方法將控件添加到列表。 (如果你需要他們去哪裏,你可以有你的添加控制方法傳遞以及期權類特殊控制)
class MainContainer extends JFrame {
private List<JComponent> currentComponents = new ArrayList<JComponent>();
public void addControl(JComponent newComp) {
// -- add it to the JFrame --
...
// -- make a note that it is on --
currentComponents.add(newComp);
}
public void removeControl(JComponent oldComp) {
// -- check if it is in the list --
if (currentComponents.contains(oldComp)) {
// -- remove it from the JFrame --
...
// -- remove it from the list --
currentComponents.remove(oldComp);
}
}
}
另外,所有組件可以被覆蓋,並與
顯示的標誌private boolean isDisplayed();
方法和 private setDisplayed(boolean state); ,這樣當你進行添加時,你將顯示的狀態設置爲true,當你執行刪除操作時,只有當顯示的狀態爲真時纔會執行此操作,並且之後將狀態設置爲false。
+0
如何做? – MinusInfinity
相關問題
- 1. 高效安全的資源管理
- 2. 如何處理GDI資源
- 3. 如何在C++庫中處理資源
- 4. TD高地和資源管理器
- 5. 如何高效地處理動態html中的多個iframe
- 6. 如何處理擴展其他資源的資源
- 7. 如何在python中逐行高效地處理字符串?
- 8. C#資源處理
- 9. RAII資源處理
- 10. 如何處理用於本地化的多個資源文件?
- 11. 高效地處理數組和哈希?
- 12. 高效地處理數據庫連接
- 13. 如何處理應用程序資源
- 14. WebAPI如何處理嵌套資源?
- 15. 如何正確處理資源wpf
- 16. 如何處理GDI資源泄漏
- 17. 如何處理這些資源
- 18. 如何處理php REST url資源
- 19. CDN如何處理「緩存」資源?
- 20. 如何處理win32可執行資源?
- 21. 如何處理「加載資源失敗」
- 22. SWT:如何通過選擇文件打開資源管理器?
- 23. 處理缺少的資源
- 24. 如何在SWT中添加處理PApplet
- 25. 如何處理Gemfile.lock與本地寶石資源庫?
- 26. 清理資源/處理在CustomControl中
- 27. 高效的XSLT處理器
- 28. 如何使用C實現高效地處理日誌文件
- 29. memcached可以如何高效地處理大數據?
- 30. 如何在上傳後高效地處理圖像
你真的需要處理它們嗎?或者你可以將它們添加到父容器並將它們從父容器中移除? – vextorspace
我需要處理它們,每次只有一個小部件應該處於活動狀態。 – MinusInfinity
你處理你的小部件的理由是什麼? –