Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Используя Компоненты Swing
Раздел: Как Использовать Различные Компоненты
Как Использовать Метки
Домашняя страница > Создание GUI С JFC/Swing > Используя Компоненты Swing

Как Использовать Метки

С JLabel class, можно вывести на экран невыбираемый текст и изображения. Если Вы должны создать компонент, который выводит на экран строку, изображение, или обоих, можно сделать так при использовании или расширение JLabel. Если компонент является интерактивным и имеет определенное состояние, используйте кнопку вместо метки.

Определяя код HTML в тексте метки, можно дать метке различные характеристики, такие как многократные строки, многократные шрифты или многократные цвета. Если метка использует только единственный цвет или шрифт, можно избежать издержек обработки HTML при использовании setForeground или setFont метод вместо этого. См. Используя HTML в Компонентах Swing для деталей.

Отметьте, что метки не непрозрачны по умолчанию. Если Вы должны нарисовать фон метки, рекомендуется, чтобы Вы повернули его свойство непрозрачности к "истине". Следующий фрагмент кода показывает, как сделать это.

label.setOpaque(true);

Следующее изображение представляет приложение, которое выводит на экран три метки. Окно делится на три строки равного height; метка в каждой строке настолько широка насколько возможно.

Снимок LabelDemo, который использует метки с текстом и значками.

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать, Демонстрационный пример Метки, использующий Сеть Java™, Запускаются (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает Приложение LabelDemo
  2. Измените размеры окна, таким образом, можно видеть, как содержание меток помещается в пределах области рисунка меток.
    У всего содержания метки есть выравнивание по вертикали значения по умолчанию — то есть, содержание метки центрируется вертикально в области рисунка метки. У главной метки, которая содержит и изображение и текст, есть горизонтальное выравнивание по центру. Вторая метка, которая содержит только текст, оставила (ведущее) выравнивание, которое является значением по умолчанию для меток только для текста на слева направо языках. У третьей метки, которая содержит только изображение, есть горизонтальное выравнивание по центру, которое является значением по умолчанию для меток только для изображения.

Ниже код от LabelDemo.java это создает метки в предыдущем примере.

ImageIcon icon = createImageIcon("images/middle.gif");
. . .
label1 = new JLabel("Image and Text",
                    icon,
                    JLabel.CENTER);
//Set the position of the text, relative to the icon:
label1.setVerticalTextPosition(JLabel.BOTTOM);
label1.setHorizontalTextPosition(JLabel.CENTER);

label2 = new JLabel("Text-Only Label");
label3 = new JLabel(icon);

Код для createImageIcon метод подобен используемому всюду по этому учебному руководству. Можно найти это в том, Как Использовать Значки.

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

amountLabel.setLabelFor(amountField);

Предыдущий код, взятый от FormattedTextFieldDemo пример, обсужденный в том, Как Использовать Отформатированные Текстовые поля, позволяет вспомогательным технологиям знать что метка (amountLabel) предоставляет информацию об отформатированном текстовом поле (amountField). Для получения дополнительной информации о вспомогательных технологиях, см. Как к Support Assistive Technologies.

API Метки

Следующие таблицы приводят обычно используемый JLabel конструкторы и методы. Другие методы, которые Вы, вероятно, вызовете, определяются Component и JComponent классы. Они включают setFont, setForeground, setBorder, setOpaque, и setBackground. См. Класс JComponent для деталей. API для того, чтобы использовать метки попадает в три категории:


Отметьте: 

В следующем API не путайте выравнивание метки с X и выравнивание Y. X и выравнивание Y используются менеджерами по расположению и может влиять на путь любой компонент — не только, метка — измеряется или располагается. Выравнивание метки, с другой стороны, не имеет никакого эффекта на размер метки или позицию. Выравнивание метки просто определяет, где в области рисования метки содержание метки располагается. Как правило, областью рисования метки является точно размер, должен был подрисовать метку и таким образом маркировать выравнивание, не важно. Для получения дополнительной информации приблизительно X и выравнивание Y, см., Как Использовать BoxLayout.


Установка или Получение Содержания Метки
Метод или Конструктор Цель
JLabel (Значок)
JLabel (Значок, интервал)
JLabel (Строка)
JLabel (Строка, Значок, интервал)
JLabel (Строка, интервал)
JLabel ()
Создает a JLabel экземпляр, инициализируя это, чтобы иметь указанный текст/изображение/выравнивание. int параметр определяет выравнивание по горизонтали содержания метки в пределах ее области рисунка. Выравнивание по горизонтали должно быть одной из следующих констант, определенных в SwingConstants интерфейс (который JLabel реализации): LEFT, CENTER, RIGHT, LEADING, или TRAILING. Для простоты локализации мы строго рекомендуем использовать LEADING и TRAILING, а не LEFT и RIGHT.
освободите setText (Строка)
Представьте getText в виде строки ()
Наборы или вывели на экран текст меткой. Можно использовать HTML-тэги, чтобы отформатировать текст, как описано в Использовании HTML в Компонентах Swing.
освободите setIcon (Значок)
Значок getIcon ()
Наборы или вывели на экран изображение меткой.
освободите setDisplayedMnemonic (случайная работа)
случайная работа getDisplayedMnemonic ()
Наборы или получают букву, которая должна быть похожей на альтернативу клавиатуры. Это полезно, когда метка описывает компонент (такой как текстовое поле), который имеет альтернативу клавиатуры, но не может вывести на экран ее. Если labelFor свойство также устанавливается (использование setLabelFor), затем когда пользователь активирует мнемосхему, клавиатурный фокус передается компоненту, определенному labelFor свойством.
освободите setDisplayedMnemonicIndex (интервал)
интервал getDisplayedMnemonicIndex ()
Наборы или получают подсказку, относительно которой символ в тексте должен быть украшен, чтобы представить мнемосхему. Это полезно, когда Вы имеете два экземпляра того же самого символа и хотите украсить второй экземпляр. Например, setDisplayedMnemonicIndex(5) украшает символ, который является в позиции 5 (то есть, 6-ой символ в тексте). Не все типы стили могут поддерживать эту функцию.
освободите setDisabledIcon (Значок)
Значок getDisabledIcon ()
Наборы или вывели на экран изображение меткой, когда это отключается. Если Вы не определяете отключенное изображение, то стиль создает один, управляя изображением значения по умолчанию.
Точная настройка Появление Метки
Метод Цель
освободите setHorizontalAlignment (интервал)
освободите setVerticalAlignment (интервал)
интервал getHorizontalAlignment ()
интервал getVerticalAlignment ()
Наборы или получают область на метке, куда ее содержание должно быть помещено. SwingConstants интерфейс определяет пять возможных значений для выравнивания по горизонтали: LEFT, CENTER (значение по умолчанию для меток только для изображения), RIGHT, LEADING (значение по умолчанию для меток только для текста), TRAILING. Для выравнивания по вертикали: TOP, CENTER (значение по умолчанию), и BOTTOM.
освободите setHorizontalTextPosition (интервал)
освободите setVerticalTextPosition (интервал)
интервал getHorizontalTextPosition ()
интервал getVerticalTextPosition ()
Наборы или получают расположение, куда текст метки будет помещен относительно изображения метки. SwingConstants интерфейс определяет пять возможных значений для горизонтальной позиции: LEADING, LEFT, CENTER, RIGHT, и TRAILING (значение по умолчанию). Для вертикальной позиции: TOP, CENTER (значение по умолчанию), и BOTTOM.
освободите setIconTextGap (интервал)
интервал getIconTextGap ()
Наборы или получают число пикселей между текстом метки и его изображением.
Поддержка Доступности
Метод Цель
освободите setLabelFor (Компонент)
Компонент getLabelFor ()
Наборы или добираются, какой компонент метка описывает.

Примеры То Использование Метки

Следующая таблица приводит некоторые из многих примеров то использование метки.

Пример Где Описано Примечания
LabelDemo Этот раздел Шоу, как определить выравнивание по горизонтали и выравнивание по вертикали так же как как выровнять текст метки и изображение.
HtmlDemo Используя HTML в Компонентах Swing Позволяет Вам экспериментировать с определением текста HTML для метки.
BoxAlignmentDemo Решение проблем Выравнивания Демонстрирует возможные проблемы выравнивания при использовании метки в вертикальном расположении поля. Шоу, как решить проблему.
DialogDemo Как Использовать Диалоговые окна Использует изменчивую метку, чтобы вывести на экран инструкции и обеспечить обратную связь.
SplitPaneDemo Как Использовать Разделенные области и Как Использовать Списки Выводит на экран изображение, используя метку в области прокрутки.
SliderDemo2 Как Использовать Ползунки Использование JLabel обеспечить метки для ползунка.
TableDialogEditDemo Как Использовать Таблицы Реализует подкласс метки, ColorRenderer, вывести на экран цвета в табличных ячейках.
FormattedTextFieldDemo Как Использовать Отформатированные Текстовые поля Имеет четыре строки, каждый содержащий метку и отформатированное текстовое поле, которое она описывает.
TextComponentDemo Текстовые Компонентные Функции TextComponentDemo имеет внутренний class (CaretListenerLabel) это расширяется JLabel обеспечить метку, которая прислушивается к событиям, обновляя себя основанный на событиях.
ColorChooserDemo Как Использовать Цветных Селекторов Использует непрозрачную метку, чтобы вывести на экран в настоящий момент выбранный цвет против фиксированного цветового фона.

См. Использование JavaFX Средства управления UI: учебное руководство по Метке, чтобы узнать о JavaFX маркированные средства управления.


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Как Использовать Внутренние рамки
Следующая страница: Как Использовать Многоуровневые Области