Синхронизирующий JMenu ButtonGroups с JToolbar ButtonGroups

require 'time'
require 'date'

t = Time.now
d = DateTime.now

dd = DateTime.parse(t.to_s)
tt = Time.parse(d.to_s)
5
задан arooaroo 13 August 2009 в 10:05
поделиться

5 ответов

Я после долгих поисков нашел информацию здесь . По сути, вы можете добавить это к своему методу actionPerformed вашего действия:

action.putValue(Action.SELECTED_KEY, Boolean.TRUE);

И это сделает всю работу за вас!

К сожалению, официальные руководства Sun не охватывают этот аспект (или, по крайней мере, я его не заметил) , отсюда и трудность определения такого простого подхода к решению моей проблемы.

2
ответ дан 15 December 2019 в 06:32
поделиться
0
ответ дан 15 December 2019 в 06:32
поделиться

С другой стороны (снова я), вы можете просто написать 1 слушателя во внешнем классе. Слушатель для меню и для панели инструментов. Когда 1 изменяется, слушатель устанавливает для них обоих новое значение.

0
ответ дан 15 December 2019 в 06:32
поделиться

Шаблон наблюдателя мой друг. Строка меню соответствует панели инструментов, а панель инструментов - строке меню. Они оба будут наблюдателями и наблюдаемыми. У каждого есть свой слушатель, который при событии изменения уведомляет наблюдателя (другого) с новым значением параметра.

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

1
ответ дан 15 December 2019 в 06:32
поделиться

Если вы используете Swing Actions, компоненты должны быть отключены / включены автоматически, если само действие включено. Вы можете зарегистрироваться как propertyListener для действия, а также отслеживать другие изменения. См. http://java.sun.com/javase/6/docs/api/javax/swing/Action.html для получения подробного списка доступных свойств.

0
ответ дан 15 December 2019 в 06:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: