|
Spec-Zone .ru
спецификации, руководства, описания, API
|
События каре имеют место, когда каре — курсор, указывающий на точку вставки — в текстовом компоненте, перемещается или когда выбор в текстовом компоненте изменяется. Текстовый компонентный документ может инициировать события каре, когда он вставляет или удаляет текст, например. Можно присоединить слушателя каре экземпляра любого JTextComponent подкласс с addCaretListener метод.
Вот код обработки событий каре из вызванного приложения TextComponentDemo:
...
//where initialization occurs
CaretListenerLabel caretListenerLabel =
new CaretListenerLabel("Caret Status");
...
textPane.addCaretListener(caretListenerLabel);
...
protected class CaretListenerLabel extends JLabel
implements CaretListener
{
...
//Might not be invoked from the event dispatching thread.
public void caretUpdate(CaretEvent e) {
displaySelectionInfo(e.getDot(), e.getMark());
}
//This method can be invoked from any thread. It
//invokes the setText and modelToView methods, which
//must run in the event dispatching thread. We use
//invokeLater to schedule the code for execution
//in the event dispatching thread.
protected void displaySelectionInfo(final int dot,
final int mark) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
if (dot == mark) { // no selection
...
}
});
}
}
}
caretUpdate метод, как гарантируют, не вызовут в диспетчеризирующем событие потоке. Использовать любые методы в caretUpdate то обновление GUI, специальная обработка обязана гарантировать, что они выполняются на диспетчеризирующем событие потоке. Можно сделать это, обертывая код внутри a Runnable и вызов SwingUtilities.invokeLater на этом Runnable. Можно найти ссылку к исходному файлу для TextComponentDemo в примере индексируют для того, чтобы использовать Компоненты Swing. Поскольку дискуссия об аспекте слушателя каре программы видит Прислушивание к Изменениям Каре и Выбора в текстовых Компонентных Функциях.
Поскольку CaretListener имеет только один метод, у него нет никакого соответствующего адаптера class.
| Метод | Цель |
|---|---|
| caretUpdate (CaretEvent) | Вызванный, когда каре в слушаемом компонент перемещается или когда выбор в слушаемом компонентные изменения. |
| Метод | Цель |
|---|---|
| Возвращает текущее расположение каре. Если текст выбирается, каре отмечает один конец выбора. | |
Возвращает другой конец выбора. Если ничто не выбирается, значение, возвращенное этим методом, равно значению, возвращенному getDot. Отметьте, что точка, как гарантируют, не будет меньше чем метка. |
|
|
(в java.util.EventObject) |
Возвращает объект, который запустил событие. |
Следующая таблица приводит примеры то каре использования слушатели.
| Пример | Где Описано | Примечания |
|---|---|---|
TextComponentDemo |
Использует метку слушателя, чтобы вывести на экран состояние выбора и каре. |