Я реализовал базовый графический интерфейс Swing, основанный на концепции списка воспроизведения, как часть более крупного приложения для микширования звука DJ (представьте себе примитивный Virtual DJ (!)).Плейлист в основном состоит из JTable, на который треки могут быть треками, которые можно перетаскивать и удалять с JTree.JPanel, который включает в себя таблицу, также содержит набор кнопок для сохранения, загрузки и удаления списков воспроизведения, а также для загрузки проигрывателя (ей).Эти состояния кнопок необходимо обновить (включить / отключить) в зависимости от текущего состояния приложения (т. Е. Загружен ли список воспроизведения? Есть ли в списке воспроизведения треки? И т. Д.)
Я пытаюсь следить заШаблон MVC, в соответствии с которым базовая TableModel отделена от пользовательского интерфейса таблицы и кнопки через контроллер.
У меня такой вопрос ... Какой самый элегантный / эффективный способ обработки обновлений кнопок?В данный момент ссылка на загруженный в данный момент файл списка воспроизведения сохраняется в контроллере, и контроллер определяет, является ли список воспроизведения пустым из модели.Затем он отправляет два логических значения (isEmpty, isLoaded) в представление, которое затем определяет, какие кнопки включить на основе этих значений.Этот метод выглядит немного не элегантно, поэтому я буду рад любым предложениям.
Спасибо!