2010-07-28 7 views
6

У меня есть апплет Java с несколькими элементами, которые могут быть встроены в веб-страницу.Вкладка и выключение апплета Java на веб-странице

Возможно ли сделать элементы в апплетной части логической последовательности вкладок остальной части страницы?

Для уточнения: Я хотел бы использовать Tab, чтобы перейти от элемента за пределами апплета первого элемента апплета, а затем использовать Сдвиг + Tab, чтобы вернуться к элементу за пределами апплета. Аналогично, я хотел бы использовать Tab, чтобы перейти от последнего элемента апплета к следующему элементу веб-страницы и использовать Shift + Вкладка для возврата назад.

ответ

4

Вы можете определить порядок вкладок внутри вашей страницы, прилагая tabindex атрибутов для ваших элементов, в том числе object элемента вашего апплета. Вы можете определить порядок вкладок в вашем апплете, расширив FocusTraversalPolicy class.

Допустим, у вас есть три страницы управления - , B и C - второй из которых - B - это апплет, и три апплет управления - X, Y , и Z. Если вы указательные , B и Ctabindex1, 2 и 3 и X, Y и Z первый через третий в цикле обхода, ваш эффективный порядок вкладка будет : , Х, Y, Z, С.

+0

tabIndex на тегах апплетов не ведет себя последовательно в браузерах. В IE7 я могу войти в апплет, но я не могу отложить вкладку. Firefox позволяет мне вставлять в апплет, но не фокусируется на элементах апплета. Chrome игнорирует апплет в taborder, несмотря на tabIndex. Я не вижу никакого способа указать в FocusTraversalPolicy, что я хочу (использовать ваш пример), чтобы перемещать фокус за пределы апплета после Z. Я что-то пропускаю? –

+0

@Rasmus Faber: AFAIK, вы ничего не пропустили. Апплеты просто не предназначены для части веб-страницы, а скорее для мини-приложения (отсюда и название), встроенного на страницу. –

+3

Я не согласен с тем, что апплеты не предназначены для того, чтобы быть частью страницы. Согласно спецификации HTML, «tabindex» должен поддерживаться тегами «object» . Поэтому описанный мной подход должен работать, если браузеры не ведут себя плохо. К сожалению, похоже, что они есть - я просто попробовал весь shebang и воспроизвел непоследовательное поведение в браузерах. В этом случае, Расмус, боюсь, вы, как говорят французы, «дерьмо из удачи». – oldestlivingboy