在一个按钮一个ActionListener我们想动态创建一个表单。
如喜欢的东西
Button b = new Button("Clickme");
b.setActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Form f = new Form();
Container c = new Container();
...
f.addComponent(c);
f.show();
}
});
工作正常.....但“后退”按钮将无法正常工作
有谁知道在一个ActionListener实现动态表单,或跳跃通过预定义的形式和行动听众的正确方法?
谢谢
詹姆士
您需要创建一个回命令,并将其与表单关联:
Command back = new Command("Back") {
public void actionPerformed(ActionEvent ev) {
// notice that when showing a previous form it is best to use showBack() so the
// transition runs in reverse
showPreviousForm();
}
};
f.setBackCommand(back);
您可以在厨房的水槽演示这完全是手工编码的看到这一点。
你也可以给形式参数
chooseDB(c.getComponentForm());
private void chooseDB(final Form main) {
Form f = new Form("Choose a Database");
...
Command backCommand = new Command("Back") {
public void actionPerformed(ActionEvent ev) {
main.showBack();
}};
f.addCommand(backCommand);
f.setBackCommand(backCommand);
f.show();
}
因此,对于你的例子:
Button b = new Button("Clickme");
b.setActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
Form f = new Form();
Container c = new Container();
Command backCommand = new Command("Settings") {
public void actionPerformed(ActionEvent ev) {
b.getComponentForm().showBack();
}};
f.addCommand(backCommand);
f.setBackCommand(backCommand);
f.addComponent(c);
f.show();
}
});
夏嘉曦,请解决这个问题,如果我没有做错任何事。 谢谢。