所以我的情况很简单(恕我直言):
我正在尝试创建 Web 式的 Java 应用程序(它是一种销售点应用程序),其行为非常类似于网站,但全部采用 Java 语言。现在,我有一个用 Eclipse 编写的半简单 SWT 应用程序,它显示了一些选项(登录、价格检查、库存检查和员工考勤)。当按下其中任何一个(或激活相应的键盘快捷键)时,会弹出一个对话框,提示身份验证。假设用户已通过验证,我希望主应用程序窗口无缝地显示一组新功能(扫描项目、项目查找等)。
如果这是 HTML,我只会创建一个新页面,如果我针对 Android 平台编写,我只会创建一个新 Activity ...但这是非常新的,我很难找到任何相关的内容信息。
PS 如果有人认为不同的库/技术(例如 Swing/AWT)更好,那么我不会选择 SWT。
最佳答案
在 SWT 中,如果要替换 Composite 的内容,首先需要处理现有控件,然后创建新控件,最后调用 layout(...)
复合方法:
// Retrieve existing composite
Composite composite = [retrieve existing composite]
// Remove exising children
for (Control child : composite.getChildren()) {
child.dispose();
}
// Create new children
Label label = new Label(composite, SWT.NONE);
// Layout
// Maybe update the composite layout with composite.setLayout()
composite.layout(true, true);
另一个解决方案是使用带有 StackLayout 的 Composite
如果你想来回显示几个预定义的内容。
关于java - 使用SWT进行多 View 应用;类似于Android的Activity生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8665980/