java - 使用SWT进行多 View 应用;类似于Android的Activity生命周期

标签 java swing swt

所以我的情况很简单(恕我直言):

我正在尝试创建 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);

另一个解决方案是使用带有 StackLayoutComposite如果你想来回显示几个预定义的内容。

关于java - 使用SWT进行多 View 应用;类似于Android的Activity生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8665980/

相关文章:

java - 从 Jlist 保存项目

java - 使用 setCellEditor 方法设置时 JTable 单元格编辑器不起作用

java - 如何允许用户调整小部件的大小?

java - Eclipse RCP : Does CNF without IDE plug-in require custom ContentProvider?

java - 我怎样才能在我的自定义工具提示中得到一个气球?

java - 从 WADL 生成 java stub

java - Android webview +javascript 未在 android 4.0.x,3.x 中显示输出

java - Hibernate @AttributeOverrides 多个属性而不显式命名每个属性

java - SWT - AWT 桥

java swing - 如何确定两个矩形之间碰撞的一侧