【问题标题】:SWT for Windows Mobile: UI Architecture适用于 Windows Mobile 的 SWT:UI 架构
【发布时间】:2010-05-14 14:19:19
【问题描述】:

我有一个用 Java 编写的 Windows Mobile 应用程序,它使用 AWT 作为用户界面。我正在考虑将 UI 移植到 SWT。我获得了适用于 windows mobile 的 SWT 库,并开始研究在实际移植它时将涉及哪些工作。我认为我必须决定的第一件事是如何处理应用程序中的大量屏幕。

在 AWT 中,UI 基本上是一个带有 CardLayout 的 java.awt.Frame。然后每个屏幕只是 java.awt.Panel 的扩展,并被添加到框架中。然后,每当我们需要切换到不同的屏幕时,我们只需将该面板设置为最顶部即可。

SWT 没有这样的布局管理器(我什至不确定这是否是最好/最有效的方式,因为与应用程序中的每个屏幕相关联的系统资源总是被占用)。我想到的一种方法是每个屏幕都有自己的 org.eclipse.swt.widgets.Shell。从一个屏幕切换到另一个屏幕将涉及一个显示管理器类创建新屏幕(外壳)并处理旧屏幕(不确定每次显示屏幕时创建外壳和所有小部件的性能影响?) .我不确定在一个移动应用程序中使用多个 shell 是否是个好主意??

有人对使用 SWT 在移动应用程序中处理多个屏幕的最佳方式有任何建议吗?是否有与我们目前在 AWT 中使用的方法等效的方法,即 CardLayout?还是我认为这并不是最好的方法,因为每个屏幕都会使用资源,即使它们没有被显示?

【问题讨论】:

    标签: java user-interface windows-mobile java-me swt


    【解决方案1】:

    所以我自己的问题的答案似乎是 SWT 中实际上有一个 StackLayout,它与 AWT 中的 CardLayout 几乎相同。所以我可以使用它,并且从一个移植到另一个的工作非常容易,因为它们的行为方式相同。

    【讨论】:

      【解决方案2】:

      不确定它在 Windows Mobile 中的表现如何,但 MigLayout 是一款出色的 SWT 布局管理器,它可能支持您描述的那种布局。
      查看它的演示。

      【讨论】:

        猜你喜欢
        • 2012-04-30
        • 2017-08-15
        • 1970-01-01
        • 2010-10-24
        • 1970-01-01
        • 2012-06-14
        • 2012-09-24
        • 2017-11-29
        • 2011-10-15
        相关资源
        最近更新 更多