Программа с графическим интерфейсом, проблема с вкладками

Я создаю программу с графическим интерфейсом, используя MVC, который должен выглядеть следующим образом... http://img137.imageshack.us/img137/6422/93381955.jpg

Я создал класс Window и Panel. Я думаю о создании вкладок Input и Display в классе Panel, а затем о создании еще двух классов, InputPanel и DisplayPanel. Таким образом, InputPanel будет содержать материал на этом рисунке на вкладке Input и то же самое для вкладки Display. Есть ли лучший способ разработать это?

Кроме того, поскольку на вкладке "Ввод" есть 3 раздела ("Имя и предложение", "Преступление", "Кнопка"), мне следует создать 3 панели или только 1 панель, содержащую все эти элементы?

Спасибо

3 ответа

Решение

Чтобы ответить на ваш конкретный вопрос об использовании трех панелей вместо 1, я бы предложил две. Редко возникает необходимость создать панель только для создания одного виджета. Итак, один виджет для имени и предложения, другой для преступления.

Что касается вопроса о том, "есть ли лучший способ создать это"?... Звучит так, будто вы учитесь, поэтому я советую вам не слишком сосредотачиваться на идеальном способе сделать это. Придерживайтесь своего оригинального дизайна, а после выполнения задания спросите себя, что сработало *, а что нет. С помощью этой информации вы сможете сами решить, был ли ваш дизайн правильным.

Обычно при разработке кода GUI не бывает "лучшего" - есть много способов решить проблему. То, что вы описали, звучит как отличный способ решить проблему

(*) "работал" в этом контексте означает, было ли легко кодировать? Это позволило вам достичь желаемого макета? Делает ли этот код поддерживаемым с течением времени, если, например, возникает потребность в реорганизации графического интерфейса?

Вы были правы, создавая InputPanel и DisplayPanel как отдельные классы.

Что касается дальнейшего разделения этих панелей? Да, вы должны разделить их дальше, но не на отдельные классы. Вы должны добавить jPanels внутри вашей InputPanel и DisplayPanel и сгруппировать элементы управления внутри этих внутренних jPanels.

Пожалуйста, дайте мне знать, если вы хотите, чтобы я разъяснил, что я имею в виду.

Брайан дал хорошие советы, я просто добавлю, что эргономика не точная наука, хотя опыт помогает там.
Вкладки хороши, например. для разделения настроек или группировки на одной панели (например, панели инструментов) разных наборов инструментов (слои, цвета, кисти...).
Но они могут быть не адаптированы ко всем рабочим процессам. Но нам не хватает информации о роли вкладки "Дисплей". Предполагается ли перечислить все преступления в таблице? Разве таблица не может быть ниже элементов управления?

Как подсказал Брайан, лучше проектировать графический интерфейс, чем тестировать его, как это сделал бы настоящий пользователь. Считаете ли вы рабочий процесс простым для понимания? (сделайте, чтобы кто-то еще проверил это!) Чувствует ли это себя естественно? Это быстро использовать?
Затем вы можете настроить дизайн в свете этих наблюдений.

Другие вопросы по тегам