Codenameone 关于模态对话框中文本字段的建议

Codenameone 关于模态对话框中文本字段的建议,codenameone,Codenameone,对于输入文本,特别是在情态对话中输入文本,有什么建议 当有一个带有文本字段的模式对话框时,人们可能希望在显示对话框时立即开始编辑-最好的方法是什么 过去我收到过一些建议,比如不要在模态对话框中使用文本字段。这仍然是真的吗?有哪些替代方案 这是可行的,但可能不是可行的办法: TextField textFieldDialog = new TextField() { @Override public void p

对于输入文本,特别是在情态对话中输入文本,有什么建议

当有一个带有文本字段的模式对话框时,人们可能希望在显示对话框时立即开始编辑-最好的方法是什么

过去我收到过一些建议,比如不要在模态对话框中使用文本字段。这仍然是真的吗?有哪些替代方案

这是可行的,但可能不是可行的办法:

            TextField textFieldDialog = new TextField() {
                @Override
                public void paint(Graphics g) {
                    startEditingAsync();
                    super.paint(g);
                }
            };
            Dialog.show(
                    "Text Input",
                    FlowLayout.encloseCenterMiddle(textFieldDialog),
                    Command.create("Cancel", null, (aActionEvent2)->{}),
                    Command.create("OK", null, (aActionEvent2)->{}));

建议不要在对话框、模式对话框或其他对话框中放置文本字段。这是一个问题,因为屏幕有时会调整大小以适应UI,而这在对话框中根本不起作用


您可以使用
TextField
上的
startEditingAsync
启动编辑

建议不要在对话框、模式对话框或其他对话框中放置文本字段。这是一个问题,因为屏幕有时会调整大小以适应UI,而这在对话框中根本不起作用


您可以使用
TextField
上的
startEditingAsync
启动编辑

如果Dialog类具有与现有show方法类似的创建方法来创建对话框实例,这是否很好?然后,可以在调用show方法之前应用addShowListener。如果Dialog类具有与现有show方法类似的创建方法来创建对话框实例,这会更好吗?然后可以在调用show方法之前应用addShowListener。如果我想要一个模态对话框,我想我可以创建一个以前一个表单的屏幕截图为背景的表单。但是-对话是一种形式,对吗?那么区别是什么呢?这会有完全相同的问题,即您依赖文本字段在屏幕中的显式位置,该位置将随着键盘打开而改变,因此它将以更糟糕的方式失败。对话框通过使用边距将其推离边缘来定位其UI。屏幕上的调整填充不再正确,因此我们需要重新计算,事情变得“毛茸茸的”,因为我们需要“猜测开发人员的意图”。恐怕我仍然不太明白-需要什么-对话框是可滚动的?我们可以这样做,对吗?这会奏效,但你可能会遇到问题。对话框的侧面留有空白,在某些情况下,使用一些键盘和操作系统时,对话框可能会变得过于狭窄,并且可能会出现奇怪的副作用。如果我想要一个模态对话框,我想我可以创建一个以上一个窗体的屏幕截图为背景的窗体。但是-对话是一种形式,对吗?那么区别是什么呢?这会有完全相同的问题,即您依赖文本字段在屏幕中的显式位置,该位置将随着键盘打开而改变,因此它将以更糟糕的方式失败。对话框通过使用边距将其推离边缘来定位其UI。屏幕上的调整填充不再正确,因此我们需要重新计算,事情变得“毛茸茸的”,因为我们需要“猜测开发人员的意图”。恐怕我仍然不太明白-需要什么-对话框是可滚动的?我们可以这样做,对吗?这会奏效,但你可能会遇到问题。对话框的侧面留有空白,在某些情况下,使用某些键盘和操作系统时,对话框可能会变得过于狭窄,您可能会遇到奇怪的副作用。