代号一 - 外部对话 dismiss/cancel/tap 的事件侦听器
Codename One - event listener for Dialog dismiss/cancel/tap outside
我正在通过代号一移植我的 Android 应用程序。
现在我正在将对话框移植到我的应用程序中。
我可以在 Codename 项目中创建类似的对话框,将 ActionListeners 添加到按钮等,但是我无法找到 cancel/dismiss/tap 外部事件的事件侦听器。
dispose() 方法没有相应的监听器,那会有用。
这是最简单的Dialog,但我也有更复杂的:
public static void openAlertDialog( String s1, String s2)
{
Dialog alertDialog=new Dialog(s1);
Button okButton=new Button("ok");
alertDialog.setLayout(BoxLayout.y());
Container c1=new Container(); //not so useful here but when there are more buttons
c1.setLayout(BoxLayout.x());
alertDialog.add(new SpanLabel(s2, "DialogBody"));
c1.add(okButton);
alertDialog.add(c1);
alertDialog.show();
}
如何在关闭对话框但未按下任何按钮时有机会执行某些代码?
代号一对话框甚至不需要事件侦听器。例如。这段代码可以这样写:
Dialog alertDialog=new Dialog(s1);
Command ok = new Command("ok");
Button okButton=new Button(ok);
alertDialog.setLayout(BoxLayout.y());
Container c1=new Container(); //not so useful here but when there are more buttons
c1.setLayout(BoxLayout.x());
alertDialog.add(new SpanLabel(s2, "DialogBody"));
c1.add(okButton);
alertDialog.add(c1);
alertDialog.setDisposeWhenPointerOutOfBounds(true);
if(alertDialog.showDialog() == ok) {
// user pressed OK. You can test against other commands than ok as well
} else {
// canceled or clicked outside
}
我正在通过代号一移植我的 Android 应用程序。
现在我正在将对话框移植到我的应用程序中。
我可以在 Codename 项目中创建类似的对话框,将 ActionListeners 添加到按钮等,但是我无法找到 cancel/dismiss/tap 外部事件的事件侦听器。
dispose() 方法没有相应的监听器,那会有用。
这是最简单的Dialog,但我也有更复杂的:
public static void openAlertDialog( String s1, String s2)
{
Dialog alertDialog=new Dialog(s1);
Button okButton=new Button("ok");
alertDialog.setLayout(BoxLayout.y());
Container c1=new Container(); //not so useful here but when there are more buttons
c1.setLayout(BoxLayout.x());
alertDialog.add(new SpanLabel(s2, "DialogBody"));
c1.add(okButton);
alertDialog.add(c1);
alertDialog.show();
}
如何在关闭对话框但未按下任何按钮时有机会执行某些代码?
代号一对话框甚至不需要事件侦听器。例如。这段代码可以这样写:
Dialog alertDialog=new Dialog(s1);
Command ok = new Command("ok");
Button okButton=new Button(ok);
alertDialog.setLayout(BoxLayout.y());
Container c1=new Container(); //not so useful here but when there are more buttons
c1.setLayout(BoxLayout.x());
alertDialog.add(new SpanLabel(s2, "DialogBody"));
c1.add(okButton);
alertDialog.add(c1);
alertDialog.setDisposeWhenPointerOutOfBounds(true);
if(alertDialog.showDialog() == ok) {
// user pressed OK. You can test against other commands than ok as well
} else {
// canceled or clicked outside
}