我有一个带有工具栏的表单,右侧有一个“保存”命令。当用户单击它时,我希望它更改为“已保存”,显然,当对表单进行更改时,我需要它恢复到原始“保存”状态。这应该很简单,但是我卡住了,无法更改命令文本;我试过设置文本并刷新/重新验证,但没有成功。非常感谢您的帮助。
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);
关于java - 如何动态更改工具栏命令文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740007/