Читайте также:
|
|
Имеются случаи, когда процесс редактирования компонентов несколько отличается от описанного выше. Например, для главного меню экранной формы и для всплывающих меню.
Рассмотрим, как изменить текст пунктов меню формы с английского на русский. Если щелкнуть мышью по какому-либо пункту (item) меню, в окне редактора свойств появятся значения свойств этого пункта. И мы легко сменим "File" на "Файл", "Edit" на "Правка", "Help" на "Справка". Для того, чтобы без компиляции и запуска программы посмотреть, как будет выглядеть наша экранная форма, можно нажать иконку Preview Design (третья по счету после закладки Design в окне редактирования экранной формы).
Но вложенные пункты меню, появляющиеся при выборе любого из пунктов верхнего уровня, так отредактировать невозможно. Они редактируются немного другим путем. При переходе в режим дизайна, а также в этом режиме при щелчке в области экранной формы, в левом нижнем окне (Inspector - "инспектор компонентов") среды разработки появляется список компонентов экранной формы. Навигатор позволяет просматривать деревья вложенности различных элементов проекта.
Сама экранная форма является экземпляром класса JFrame (от Java Frame - "окно, кадр", предоставляемое языком Java). В окне инспектора после схематического изображения компонента и имени соответствующей ему переменной в квадратных скобках указывается тип компонента. Развернем узел для нашей формы типа JFrame, а также вложенные узлы menuBar типа JMenuBar и fileMemu типа JMenu.
![]() | ![]() |
Мы увидим имена переменных, соответствующих всем пунктам меню, вложенным в файловое меню: openMenuItem, saveMenuItem, saveAsMenuItem, exitMenuItem. Щелчок по имени openMenuItem в окне инспектора компонентов приведет к тому, что в окне редактирования свойств появятся значения свойств данного пункта меню. В поле Text заменим слово "Open" на "Открыть". Затем перейдем на пункт saveMenuItem, и так далее. В результате получим экранную форму с пунктами меню на русском языке.
Рассмотрим теперь создание всплывающего меню, появляющегося при щелчке по какому-либо компоненту нашей формы. Качестве примера назначим всплывающее меню кнопке выхода. Для других компонентов процесс будет абсолютно аналогичным.
![]() | ![]() |
В режиме дизайна (закладка Design) выберем мышью в палитре компонентов (окно Palette в правом верхнем окне) компонент JPopupMenu, и перетащим его на экранную форму. Он там не появится, но в окне инспектора компонентов в дереве Other Components возникнет новый узел jPopupMenu1[JPopupMenu]. Если щелкнуть по узлу, окажется, что кроме самого компонента jPopupMenu1 в нем ничего нет.
Щелкнем правой кнопкой мыши по этому узлу, и в появившемся всплывающем меню выберем Add/JMenuItem.
Рис. 11.19. Создание нового пункта всплывающего меню
После этого в дереве jPopupMenu1 возникнет узел jMenuItem1[JMenuItem], и в редакторе свойств компонентов можно задать значение свойству Text данного компонента. Введем текст "Выйти из программы".
![]() | ![]() |
Далее уже известным нам способом зададим обработчик нажатия на этот пункт меню – выберем во всплывающем меню, возникающем при щелчке правой кнопкой мыши по имени jMenuItem1 в окне Inspector, пункт Events/ Action/ ActionPerformed. А в обработчике напишем оператор выхода из программы
System.exit(0);Мы пока только создали всплывающее меню, которое доступно в нашей форме, но еще не назначили его никакому компоненту. Для того, чтобы назначить меню jPopupMenu1 кнопке JButton1, выделим ее, и в редакторе свойств компонентов в пункте componentPopupMenu нажмем мышью стрелку вниз, разворачивающую выпадающий список. Кроме значения <none>, назначенного по умолчанию этому свойству для каждого компонента, там имеется имя jPopupMenu1. Его мы и выберем.
Теперь всплывающее меню, состоящее из одного пункта " Выйти из программы", появится при щелчке правой кнопкой мыши по кнопке. Добавление других пунктов меню и назначение им обработчиков событий проводится абсолютно так же, как для jMenuItem1.
Дата добавления: 2015-09-11; просмотров: 67 | Поможем написать вашу работу | Нарушение авторских прав |