注意 VisionX 应用程序工作屏幕中的响应模式[已关闭]

问题描述 投票:0回答:1

我使用 VisionX 创建 ERP 系统,并有一个带有表格和一些编辑器的工作屏幕(编辑页面)。该应用程序是一个html5应用程序。如果浏览器窗口足够大(全高清),一切都会显示完美。如果我调整浏览器窗口的大小并有一个小窗口(例如 < 1024px), the workscreen doesn't look nice becaue I have too many editors in the workscreen.

我尝试处理浏览器窗口大小,更改工作屏幕的布局和可见组件,例如隐藏某些列或在每个订单下而不是旁边显示编辑器。

我知道这是可能的并且受支持,但不知道如何直接在 VisionX 中使用它。我也没有在文档中找到信息。

我想如果没有直接在 IDE (Eclipse) 中使用该工具也是可能的,但我不知道如何处理浏览器大小的变化。一个例子会对我有帮助,因为我尝试注册事件,比如

launcher.eventComponentResized.addListener(new IRunnable() 
{
    @Override
    public void run() throws Throwable 
    {
        //change UI
    }
});

但它并没有达到我预期的效果。

java erp
1个回答
0
投票

支持但不可视。您需要几行 Java 代码。

只需打开工作屏幕的代码(文件夹:

rad/apps/appname/src.client/.../screens/...

每个屏幕都有方法

onResponsiveModeChanged
,可用于处理响应模式。只需覆盖该方法并配置您的屏幕即可。

一个例子:

@Override
public void onResponsiveModeChanged(LayoutMode pOld, LayoutMode pNew) throws Throwable
{
    super.onResponsiveModeChanged(pOld, pNew);

    ColumnView colview = rdbUsers.getRowDefinition().getColumnView(ITableControl.class);

    if (pNew != null)
    {
        switch (pNew)
        {
            case Mini:
                colview.setColumnNames(new String[] {"USERNAME", "ACTIVE"});
                break;
            case Small:
                colview.setColumnNames(new String[] {"USERNAME", "ACTIVE", "EMAIL"});
                break;
            default:
                colview.setColumnNames(new String[] {"USERNAME"});
        }
    }
}

上面的代码显示了默认模式下的

USERNAME
列。默认模式适用于大窗口 (>= 950px)。如果窗口较小(>= 520px),将显示
USERNAME, ACTIVE, EMAIL
列。在迷你模式下(将显示< 520px)
USERNAME, ACTIVE
列。

© www.soinside.com 2019 - 2024. All rights reserved.