Иерархия окон SWT и глобальные данные
Через некоторое время, воспользовавшись помощью этого сайта, пришло время интегрироваться!
Ну, я начинаю личный проект с использованием Java (под Windows 7), и я начинаю с SWT. После поиска часов я не удовлетворен короткой информацией, которую я достиг.
Проект представляет собой приложение, в котором у меня будет главное окно, откуда пользователь может получить доступ к различным модулям (Управление клиентами, Управление продуктами...).
Что я хочу, чтобы установить правильно:
А) I18n яанг Б) Предпочтения пользователя
"Правильно" означает хороший, надлежащий и легкий доступ всех компонентов программы к этим данным, чтобы использовать их, имея в виду сделать это также самым "стандартизированным" способом.
Я уже создал пакет под названием "LanguagueResources", где у меня есть MessageBundle_xx_XX.properties, и я определил следующие атрибуты в своем классе MainMenu
protected String languague="en";
protected String country="UK";
protected Locale currentLocale=new Locale(languague, country);
protected ResourceBundle
messages=ResourceBundle.getBundle("MessageBundle",currentLocale);
При этом мое главное меню прекрасно работает с различными языками. Но что происходит, когда я открываю новое окно? может быть, я могу объявить это снова (слишком много повторяющегося кода), или, может быть, я могу передать некоторые данные, когда я вызываю новый экземпляр окна (это не выглядит стильно). То же самое с другими возможными настройками.
Это также заставляет меня задуматься о том, как мне построить структуру программы. Я имею в виду, правильно ли начинать с окна приложения SWT (главное меню), а оттуда вызывать другие окна приложения SWT, которые будут различными модулями (клиенты, продукты).? Может быть, я должен установить независимый класс Main, где я буду называть класс MainMenu, и где я буду определять языковые ресурсы и ресурсы предпочтений?
Кроме того, я хотел бы знать, должны ли пользовательские настройки быть сохранены как языки (файл.properties)
Я думаю, что могу сделать это разными способами, но я хотел бы знать, какой из них рекомендуется, стандартизированный и самый простой способ сделать это.
Надеюсь, я все объяснил. Спасибо заранее!