Как сделать таб в ВК

Обнаружил в интернете очень простой способ создания табов (сменяющих друг друга блоков с контентом). Обычно подобные вещи делаются с помощью javascript , либо сейчас еще экспериментируют с CSS3 . Данный пример обходится без этого.

HTML

CSS

.tabs-content < width:960px; height:300px; overflow:hidden; >.tabs-content ul < list-style: none /* Эти 3 линии для Opera */ height: 320px; overflow: scroll; overflow-y: hidden; >.tabs-content ul li

Ссылки в навигации указывают на соответствующие id блоков с контентом. Этим блокам указаны ширина и высота равные блоку tabs-content . По умолчанию, при нажатии, браузер ищет в контенте блок с id указанным в ссылке. А т.к. отображаться может какой-либо один блок, это заставляет показывать актуальный.

Работает в Firefox, Opera (для старых версий нужно немного дополнить css), Safari, Google Chrome, IE6+.

Живой пример

У Криса Койера также есть свои варианты CSS табов

Источник: www.kobzarev.com

Как создать таблицу в МЕНЮ в Вконтакте и как сделать цитату (2015) #3

Лучшие практики для обработки VK_TAB в Java Swing для перемещения между компонентами, а также для перемещения между ячейками таблицы, используя только клавиатуру

Я пытаюсь найти лучшую практику с точки зрения доступности таблиц по отношению к другим компонентам. В приложении, которое в основном представляет собой набор JTables и JTextFields, я попытался сделать его доступным как для клавиатуры, так и для мыши. Мои мысли о том, как помочь пользователю перемещаться между компонентами с помощью клавиши VK_TAB.

Моей первой целью было остановить JTables «глотать» ключ VK_TAB, когда пользователь пытается перейти к соседнему JTextField, используя решение из Coderanch. Я попытался собрать минимальный компилируемый и выполнимый пример ниже.

Но это довольно радикально и неприятно для пользователя, который хочет перейти к ячейке таблицы, например, для редактирования, используя только клавиатуру. Итак, моя вторая цель — дать клавиатуре доступ и к Table Cells.

Какова лучшая практика здесь? Я подумал о фокусируемом JTable, реагирующем на VK_ENTER: после этого он будет реагировать на VK_TAB, отдавая фокус следующей ячейке, пока . не будет нажата ESC или что-то еще.

Еще по теме:  Что такое скайп Вконтакте

setrok 2 Май 2020 в 10:50

2 ответа

Лучший ответ

Что такое лучшие практики здесь?

Реализация по умолчанию:

  1. Tab — переход к следующему компоненту
  2. Ctrl + Tab — перейти к следующему компоненту
  3. Shift + Tab — переход к предыдущему компоненту
  4. Ctrl + Shift + Tab — переход к предыдущему компоненту

Некоторые компоненты обрабатывают клавишу Tab. Например:

  1. JTable — вкладка используется для перехода к следующей ячейке
  2. Текстовые компоненты (JTextArea, JTextPane) — вставят символ табуляции в текст

Таким образом, для компонентов, которые обрабатывают клавишу Tab, пользователь будет использовать Ctrl + Tab для перехода к следующему компоненту при использовании клавиатуры.

Устанавливаем виджет-таблицу для группы Вконтакте| Конструктор виджетов

Я думал о фокусированной JTable, реагирующей на VK_ENTER

Вы уже знаете, как назначить другое действие клавише Tab.

Так что теперь все, что вам нужно сделать, это назначить действие Tab по умолчанию для клавиши Enter. Вы можете сделать это, изменив привязку в InputMap таблицы:

InputMap im = table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); KeyStroke addedKeyStroke = KeyStroke.getKeyStroke(«ENTER»); im.put(addedKeyStroke, «selectNextColumnCell»);

Посетите привязки клавиш для простого приложения, в котором отображаются все настройки по умолчанию. Действия для каждого компонента Swing.

camickr 4 Май 2020 в 14:34

Поэтому, когда я изменяю код, следуя вашему совету, это работает.

Вот полный пример:

Я получил привязки клавиш к действиям из ActionMap и InputMap JTable. Я попытался добавить небольшой метод

// print a String representation of each KeyStroke from the InputMap private void printActions(JTable table) < InputMap input = table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); if (input != null input.allKeys() != null) < for (KeyStroke key : input.allKeys()) < if (key != null) < printKeyStroke(key); printActionName(input, key); >> > > // build the String represantation private void printKeyStroke(KeyStroke key) < StringBuilder tk = new StringBuilder(«[«); int modifiers = key.getModifiers(); if ((modifiers shift+»); if ((modifiers ctrl+»); if ((modifiers cmd+»); if ((modifiers alt+»); tk.append(«‘»); tk.append(KeyEvent.getKeyText(key.getKeyCode())); tk.append(«‘=»); tk.append(«keycode=»); tk.append(key.getKeyCode()); tk.append(«]»); System.out.print(tk.toString()); >private void printActionName(InputMap input, KeyStroke key)

Источник: question-it.com

Как правильно использовать клавишу Tab

Как использовать Tab

О том, для чего на любой клавиатуре нужна клавиша Tab, знают далеко не все. Самое распространенное мнение: она заменяет сразу несколько пробелов, но такое утверждение не совсем верно. Возможности табуляции совсем другие: простая кнопка открывает новые способы форматирования.

Еще по теме:  Что такое игнорировать человека в ВК

Как работает клавиша Tab

Если вы нажмете эту кнопку на клавиатуре во время работы, то курсор сместится в правую сторону. В режиме полного отображения символов этот «пробел» будет обозначаться небольшой стрелкой. Отступ всегда совершается на заметное для глаза расстояние, но оно не всегда одинаковое. Если вы нажмете Tab в первый раз, то, вероятнее всего, курсор отскочит на 1,25 см — это стандартная величина в настройках. После ввода символов в этой строке и повторного нажатия отступ может показаться больше или меньше, чем предыдущий.

Как правильно использовать клавишу Tab

Дело в том, что отступы по умолчанию отсчитываются от начала первого символа, а не от конца. То есть расстояние между первыми буквами слов при использовании Tab будет одинаковым. Позиция меняется в настройках, тогда распределение пространства будет начинаться от центра слова, от его конца или вовсе от разделяющего символа — например, запятой. Это первое отличие от пробела: он всегда ставится после написанного текста и визуально имеет одну длину.

Важно!

В случае, если слово окажется слишком длинным, то система пропустит один «пробел»: расстояние между первой буквой длинного слова и началом второго будет равняться двойному расстоянию табуляции.

Расстояние может быть как больше, так и меньше 1,25 см, поскольку величину отступа можно самостоятельно изменить в настройках. Изменить можно большинство параметров, что делает табуляцию очень удобным инструментом для форматирования текста. Люди не используют и половины возможностей, которые открывает эта функция.

Как пользоваться табуляцией

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

  • по левой стороне;
  • по центру;
  • по правой стороне;
  • по разделителю;
  • вертикальная полоса.

Табуляция

Каждый из форматов имеет особенности. Вертикальная полоса — это черта, которая возникает на месте отступа вместо пробела. Остальные способы форматирования отвечают за центровку написанного относительно оси. Эти значки нужно распределить по линейке, отображаемой в верхней части документы, чтобы в каждой точке табуляции работало нужное выравнивание или появлялась вертикальная черта. Для того, чтобы распределить форматы нужно:

  • выбрать нужный тип табуляции, кликнув по значку;
  • щелкнуть мышкой в любой части линейки.
Еще по теме:  Какой функции нет Вконтакте

В одной строке могут использоваться разные форматы отступов на любом расстоянии, которое установит пользователь. Если вы установили все пять, то при нажатии клавиши Tab курсор каждый раз будет переходить на новую точку с выбранными условиями. Значки на линейке перемещаются: для этого их нужно захватить курсором, а затем сдвинуть в нужном направлении. Чтобы избавиться от лишнего параметра табуляции, зажмите левую кнопку мыши и перетяните символ за границы линейки.

Важно!

Для более точного определения позиции зажмите клавишу Alt во время распределения значков.

Пользовательские настройки

Чтобы максимально уточнить форматирование текста, используйте детальные настройки. Для этого в командной строке нужно выбрать вкладку «Абзац». В открывшемся окне, в левом нижнем углу, есть клавиша «Табуляция». В этом меню устанавливаются любые параметры — от значения отступа по умолчанию до выравнивания текста.

В первой строке можно вручную ввести любое значение отступа. В выпадающем меню отобразятся все имеющиеся в выбранном абзаце позиции отступов, каждую из которых можно настроить индивидуально. Правее можно выбрать стандартное значение, которое используется в документе всегда, если не указано иного.

Также в этом окне определяется выравнивание текста (и его замена на вертикальную линию) и заполнитель. Заполнитель — это то, чем будет заполнено пространство между текстом. По умолчанию это пробел, но можно выбрать из вариантов с линиями и точками. В самом низу окна — кнопки сохранения «установить» и удаления набора параметров.

Важно!

Выбранные параметры будут действовать только для одного абзаца. Для того, чтобы распределить их на другой нужно выбрать команду «формат по абзацу».

Таким образом, с помощью одной клавиши и набора настроек можно придать тексту совершенно иной вид. Табуляция позволяет создавать текстовые блоки, разделять их и форматировать написанной с детальной точностью. Это не просто замена нескольким пробелам, а полноценный инструмент для оформления документа.

Источник: vgrafike.ru

Рейтинг
( Пока оценок нет )
Загрузка ...