Вопрос

Мое приложение Java не очень большая, но я хотел бы сделать это «правильным способом». Ищете предложения, чтобы не сделать большой беспорядок ...

Я использую Swing, Wank Application Framework и базу данных H2.

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

Я хотел бы сохранить вещи чистыми, довольно портативными и гибкими (могут включить некоторые вкладки, например или добавить немного).

Вот вопросы:

1) Как иметь вкладки «обновленные», когда содержимое базы данных изменяется? Реализуйте какой-нибудь интерфейс прослушивателя? Должен ли я определить этот интерфейс или есть что-то уже существующее, которое я могу повторно использовать?

2) Как «ссылку» различные вкладки вместе, чтобы легко прыгать от одного к другому (и, возможно, придется нести какой-то аргумент для настройки вкладки назначения вправо «View»)

3) Если я устанавливаю некоторые предпочтения с некоторыми фильтрами в другой части приложения, как я могу разделить такие настройки со всем приложением?

И когда я спрашиваю «Как», я действительно имею в виду «какой лучший способ» ... Я могу получить эту работу уже ... Просто ищу правильный инструмент для использования, рисунок дизайна или такой.

Это было полезно?

Решение

При использовании Swing вы можете использовать панель с помощью планшетов, чтобы иметь табличную макет.

Внедрить слушатель (как вы планируете). Посмотрите на наблюдаемый интерфейс в Java.

Вы можете реализовать Singleton (например, Prefterencemanager Class), чтобы удерживать предпочтение и получить доступ к его приложению для доступа к свойствам.

Другие советы

Существуют разные стратегии здания приложений GUI. Здесь какая-то статья о.

Вы действительно хотите, чтобы нажать модель, где сервер должен поддерживать подключение к каждому клиенту, а затем обновлять их все, когда что-то меняется? Это осуществимо с горсткой клиентов, но быстро становится проблематичным. Вероятно, лучше использовать модель тяги, где клиент вручную (периодически?) Запрашивает обновления. Это также хороший способ использовать оптимистичные блокировки с помощью Last_Modified поле в БД. Попытка обновления, если он изменится, поскольку вы в последний раз перезагрузите, предупредите пользователя и позвольте им перезаписать / слиться.

Что касается качания в целом, лучшая практика заключается в том, чтобы обозначить все, что это не графический интерфейс, связанный с основными классами («деловая логика»), что огонь с событий. Зарегистрируйте все ваши классы Swing в качестве соответствующего слушателя событий и обновите GUI соответствующим образом (Handutivilities.invokelater () - ваш друг здесь).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top