2016-01-06 4 views
1

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

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

Благодаря

ответ

1

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

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); 

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

Command back = new Command(" "); 
back.putClientProperty("TitleCommand", true); 
+0

Спасибо, актуально Я хочу изменить статус команды toolBar для включения или отключения после добавления его в toolBar. Я использовал команду "command.setEnabled (false)", но он не работает. – Adnane17

+0

Это будет работать только до его добавления. Вы можете попробовать назначить пустую команду, которая ничего не делает для вашей задней команды. 'back = new Command (« назад »);' – Diamond

Смежные вопросы