2010-03-04 3 views
1

Я разрабатываю приложение java, и я создаю динамический JMenu вручную (в зависимости от входных данных). Я добавляю одно и то же действие для каждого пункта меню. Проблема в том, что в зависимости от пункта меню я хотел бы принимать разные действия каждый раз. Есть ли простой способ сделать это (что-то вроде setData (данные объекта) для каждого JMenuItem или я вынужден получить из JMenuItem)?Дополнительная информация, добавленная в JMenuItem

Спасибо заранее,

Юлиан

ответ

6

я думаю, вы можете использовать ActionEvent.getSource в методе actionPerformed ваших действий. сравните источник события с вашим JMenuItem.

для хранения дополнительной информации, вы можете использовать putClientProperty или расширить JMenuItem

+0

Да, это дает мне объект. Но я хочу получить дополнительную информацию, а не только объект. Есть ли способ сделать это? – INS

+0

какая дополнительная информация вам нужна? как только вы узнаете, какой из элементов является источником, вы можете сделать что-то другое для каждого элемента. –

+0

Какая информация, дополняющая исходный объект, вам нужна? – Riduidel

1

Согласно первоначальному вопросу и замечания, я хотел бы предложить Джулиан заменить его JMenuItem построен с помощью строки и связанного действия с JMenuItem построен с только действие, обеспечивающее как текст, так и связанное с ним поведение. Это действие может ссылаться на другие элементы приложения, чтобы обеспечить его поведение.

+0

Я мог бы сделать так много действий. Я поеду с putClientProperty. – INS

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