繁体   English   中英

如何动态更改工具栏命令文本

[英]How to dynamically change toolbar command text

我有一个带有工具栏的表单,右侧有一个“保存”命令。 当用户点击它时,我希望它变为“已保存”,显然当表单中的更改时,我需要它恢复到原始的“保存”状态。 这应该是非常简单的,但我被困住了,无法让命令文本改变; 我试过设置文本并刷新/重新验证,但没有运气。 非常感谢你的帮助。

           Command saveCMD = new Command("SAVE") {
                @Override
                public void actionPerformed(ActionEvent evt)           
               {                                
                  Display.getInstance().vibrate(100);
                  doSavingMethod();
                  //change command text to SAVED
               };
             };
             saveCMD.putClientProperty("uiid", "SaveCommand");
             toolbar.addCommandToRightBar(saveCMD);

解决此问题的最佳方法是将命令声明为变量,并在每次要更改时为其分配新值。

private Command saveCMD = new Command("");

...

final Command afterSaveCmd = new Command("SAVED") {
    @Override
    public void actionPerformed(ActionEvent evt) {                                
        //What saved command should do, if any.
    };
};

saveCMD = new Command("SAVE") {
    @Override
    public void actionPerformed(ActionEvent evt) {                                
        Display.getInstance().vibrate(100);
        doSavingMethod();
        saveCMD = new Command("SAVED");
        //OR 
        saveCmd = afterSaveCmd;
        saveCMD.putClientProperty("uiid", "SaveCommand");
        form.removeCommand(saveCMD);
        toolbar.addCommandToRightBar(saveCMD);
        //form.revalidate();
    };
};
saveCMD.putClientProperty("uiid", "SaveCommand");
toolbar.addCommandToRightBar(saveCMD);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM