Как мне отключить пункты меню Java swing?

#java #swing #awt

#java #swing #awt

Вопрос:

Я использовал awt для создания меню и заполнил это меню несколькими пунктами. Как мне «отключить» пункты меню?

Комментарии:

1. Вы использовали AWT или Swing? Все ли ваши классы компонентов начинаются с J ?

Ответ №1:

    menuItemInstance.setEnabled(false);
  

Комментарии:

1. Спасибо, я подумал, что это правильно, я понял, что использовал его не в том месте. Спасибо!

Ответ №2:

не могу удержаться, чтобы немного поворчать по поводу других ответов: изменение включенного состояния самого MenuItem может быть выполнено, поэтому они технически корректны. Тем не менее, в большинстве случаев это не очень хорошая идея.

Управление состоянием включения может стать довольно сложным в чем угодно, кроме самых простых сред. Как правило, требуется выделенная модель состояния. Целевые элементы этой модели состояния должны быть подобны данным (в отличие от похожих на представление). Идеальным (потому что он был разработан для этого 🙂 целевым элементом для MenuItems (или других кнопок) является Action .

Краткая версия: заполните меню Action s, а затем управляйте включением действия вместо компонента.

Комментарии:

1. Ну, это простая среда. Я создаю редактор фотографий и хочу отключить пункт меню, если фотографии там нет.