Отключить команду на панели инструментов Кодовое имя

java codenameone

97 просмотра

1 ответ

54 Репутация автора

Мое приложение использует одну форму, навигация состоит из замены основного контейнера. У меня есть панель инструментов с боковым меню, логотипом, командами возврата и выхода. Я хочу отключить команду возврата на некоторых конкретных страницах. command.setEnabled(false)не работает, удаление и добавление команд не работает должным образом.

Есть ли способ отключить команду после добавления ее на панель инструментов.

Спасибо

Автор: Adnane17 Источник Размещён: 06.01.2016 11:05

Ответы (1)


1 плюс

6879 Репутация автора

Если вы хотите, чтобы команда была видимой и интерактивной, но ничего не делали, вы можете использовать условие if в коде внутри actionPerformedкоманды back.

Command back = new Command("back") {

    @Override
    public void actionPerformed(ActionEvent evt) {
        if (some coditions is true) {
            backForm.showBack();
        }
    }
};

ИЛИ отключите его перед добавлением на панель инструментов и вызовом f.setBackCommand(back);, если вы хотите, чтобы он был видимым, но не активным

back.setEnabled(false);
f.setBackCommand(back);
toolbar.addCommandToLeftBar(back);

Если вы этого не хотите, вы можете либо удалить его, либо сделать следующее, если его удаление испортит ваш дизайн, а ваш TitleCommandUiid не имеет цвет фона, отличный от TitleArea:

Command back = new Command("    ");
back.putClientProperty("TitleCommand", true);
Автор: Diamond Размещён: 06.01.2016 12:04
Вопросы из категории :
32x32