Spec-Zone .ru
спецификации, руководства, описания, API
|
Ранее с JTabbedPane
, если все вкладки не соответствовали в пределах единственной выполненной вкладки, JTabbedPane
обернутые вкладки на многократные выполнения. Было много запросов, чтобы обеспечить альтернативную схему, где JTabbedPane
вместо этого вывел бы на экран единственное, выполнение с возможностью прокрутки вкладок. Этот документ описывает новый API для того, чтобы оказать такую поддержку вкладки с возможностью прокрутки в JTabbedPane
для этих 1.4 выпусков. Отчет bugtraq, который соответствует этому изменению:
Обертывание вкладок на многократные строки предоставляет преимущество всегда разрешения пользователю просмотреть все возможные выборы вкладки в установленный срок:
Однако, проблема с многократными выполнениями находится в обработке случая, где пользователь выбирает вкладку в выполнении, которое не смежно с областью дисплея панели. Для Windows и реализаций стили Мотива, это действие заставит выполнения вращаться так, что, выполнение, содержащее выбранную вкладку, помещается смежное с областью дисплея панели.
Это поведение может чрезвычайно дезориентировать пользователю, потому что оно постоянно перестраивает вкладки, устраняя предсказуемость в UI. Металлический стиль, решенный эта проблема, всегда оставляя фиксированные выполнения, даже если выбранная вкладка не смежна с областью дисплея панели:
К сожалению, нижняя сторона Металлического решения - то, что оно визуально отступает от 'снабженной вкладками папки' метафора (выбранная вкладка не 'присоединяется' к ее контенту). Фактически, Глава 7
"Если Ваша снабженная вкладками область требует многократных строк вкладок, рассмотрите деление контента среди нескольких диалоговых окон или компонентов. Многократные строки вкладок могут сбить с толку."
В то время как ограничение вкладок в снабженной вкладками области к числу, которое будет соответствовать в пределах единственного выполнения, является важной направляющей линией UI, есть обстоятельства, где быстрого увеличения вкладок нельзя избежать. Это часто имеет место, создаются ли вкладки динамически приложением во времени выполнения (возможно, прогнанный контент базы данных).
Альтернативное решение для того, чтобы обработать случай быстрого увеличения вкладки состоит в том, чтобы ограничить снабженную вкладками область к единственному, выполнению с возможностью прокрутки вкладок:
Естественно, у этого решения есть свой собственный набор проблем удобства пользования, самая очевидная из которых - то, что пользователь больше не может просмотреть все возможные выборы когда-то. Однако, это поведение вкладки с возможностью прокрутки все более и более распространено в пользовательских интерфейсах, и поэтому Swing теперь поддерживает его как опцию.
JTabbedPane
APIЧтобы позволить программам определять, какого поведения расположения вкладки они требуют, мы теперь обеспечиваем "tabLayoutPolicy", привязанный свойство JTabbedPane
:
public void setTabLayoutPolicy(int layoutPolicy) public boolean getTabLayoutPolicy()
Дополнительно, константы для поддерживаемых значений политики были добавлены к JTabbedPane
:
public static final int WRAP_TAB_LAYOUT = 0; public static final int SCROLL_TAB_LAYOUT = 1;
Эта функция, оказанная никакое влияние на совместимость, как значение по умолчанию для tabLayoutPolicy
свойство WRAP_TAB_LAYOUT
который соответствует предыдущее поведение расположения снабженной вкладками области.