Spec-Zone.ru › OpenJDK 27

Класс SwingUtilities

java.lang.Object
javax.swing.SwingUtilities
Все реализуемые интерфейсы:
SwingConstants
public class SwingUtilities extends Object implements SwingConstants
Набор вспомогательных методов для Swing.
С версии:
1.2

Краткое описание полей

Поля, объявленные в интерфейсе SwingConstants

BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
Модификатор и тип Поле Описание
static final int BOTTOM
Константа ориентации блока, обозначающая его нижнюю сторону.
static final int CENTER
Центральное положение в области.
static final int EAST
Направление по компасу: восток (вправо).
static final int HORIZONTAL
Горизонтальная ориентация.
static final int LEADING
Обозначает начальный край текста для языков с письмом слева направо и справа налево.
static final int LEFT
Константа ориентации блока, обозначающая его левую сторону.
static final int NEXT
Обозначает следующее направление в последовательности.
static final int NORTH
Направление по компасу: север (вверх).
static final int NORTH_EAST
Направление по компасу: северо-восток (вверх и вправо).
static final int NORTH_WEST
Направление по компасу: северо-запад (вверх и влево).
static final int PREVIOUS
Обозначает предыдущее направление в последовательности.
static final int RIGHT
Константа ориентации блока, обозначающая его правую сторону.
static final int SOUTH
Направление по компасу: юг (вниз).
static final int SOUTH_EAST
Направление по компасу: юго-восток (вниз и вправо).
static final int SOUTH_WEST
Направление по компасу: юго-запад (вниз и влево).
static final int TOP
Константа ориентации блока, обозначающая его верхнюю сторону.
static final int TRAILING
Обозначает конечный край текста для языков с письмом слева направо и справа налево.
static final int VERTICAL
Вертикальная ориентация.
static final int WEST
Направление по компасу: запад (влево).

Краткое описание методов

Модификатор и тип Метод Описание
static Rectangle calculateInnerArea(JComponent c, Rectangle r)
Сохраняет положение и размер внутренней области рисования указанного компонента в r и возвращает r.
static Rectangle[] computeDifference(Rectangle rectA, Rectangle rectB)
Вспомогательный метод, возвращающий массив прямоугольников, представляющих области внутри rectA, не пересекающиеся с rectB.
static Rectangle computeIntersection(int x, int y, int width, int height, Rectangle dest)
Вспомогательный метод для вычисления пересечения двух прямоугольников без создания нового прямоугольника.
static int computeStringWidth(FontMetrics fm, String str)
Вычисляет ширину строки с использованием шрифта с указанными «метриками» (размерами).
static Rectangle computeUnion(int x, int y, int width, int height, Rectangle dest)
Вспомогательный метод, вычисляющий объединение двух прямоугольников без создания нового прямоугольника.
static MouseEvent convertMouseEvent(Component source, MouseEvent sourceEvent, Component destination)
Возвращает MouseEvent, аналогичный sourceEvent, но его поля x и y преобразованы в систему координат destination.
static Point convertPoint(Component source, int x, int y, Component destination)
Преобразует точку (x,y) из системы координат source в систему координат destination.
static Point convertPoint(Component source, Point aPoint, Component destination)
Преобразует aPoint из системы координат source в систему координат destination.
static void convertPointFromScreen(Point p, Component c)
Преобразует точку из экранных координат в систему координат компонента.
static void convertPointToScreen(Point p, Component c)
Преобразует точку из системы координат компонента в экранные координаты.
static Rectangle convertRectangle(Component source, Rectangle aRectangle, Component destination)
Преобразует прямоугольник aRectangle из системы координат source в систему координат destination.
static Component findFocusOwner(Component c)
Устарел.
Начиная с версии 1.4 заменён на KeyboardFocusManager.getFocusOwner().
static Accessible getAccessibleAt(Component c, Point p)
Возвращает дочерний элемент Accessible, находящийся в локальной координате Point, если такой имеется.
static Accessible getAccessibleChild(Component c, int i)
Возвращает n-й доступный дочерний элемент объекта.
static int getAccessibleChildrenCount(Component c)
Возвращает количество доступных дочерних элементов объекта.
static int getAccessibleIndexInParent(Component c)
Возвращает индекс этого объекта в его доступном родительском элементе.
static AccessibleStateSet getAccessibleStateSet(Component c)
Возвращает состояние этого объекта.
static Container getAncestorNamed(String name, Component comp)
Вспомогательный метод для поиска вверх от comp по иерархии компонентов; возвращает первый найденный объект типа name.
static Container getAncestorOfClass(Class<?> c, Component comp)
Вспомогательный метод для поиска вверх от comp по иерархии компонентов; возвращает первый найденный объект класса c.
static Component getDeepestComponentAt(Component parent, int x, int y)
Возвращает самый глубокий видимый дочерний компонент parent, содержащий точку x, y.
static Rectangle getLocalBounds(Component aComponent)
Возвращает для компонента прямоугольник (0,0,bounds.width,bounds.height) aComponent
static Component getRoot(Component c)
Возвращает корневой компонент текущего дерева компонентов.
static JRootPane getRootPane(Component c)
Если c является потомком JRootPane, возвращает его предка JRootPane.
static ActionMap getUIActionMap(JComponent component)
Возвращает ActionMap, предоставленную пользовательским интерфейсом компонента component.
static InputMap getUIInputMap(JComponent component, int condition)
Возвращает InputMap, предоставленную пользовательским интерфейсом для условия condition компонента component.
static Container getUnwrappedParent(Component component)
Возвращает первого предка component, который не является экземпляром JLayer.
static Component getUnwrappedView(JViewport viewport)
Возвращает первого потомка JViewport, который не является экземпляром JLayer.
static Window getWindowAncestor(Component c)
Возвращает первого предка Window для c или null, если c не содержится внутри Window.
static void invokeAndWait(Runnable doRun)
Обеспечивает синхронное выполнение doRun.run() в потоке обработки событий AWT.
static void invokeLater(Runnable doRun)
Обеспечивает асинхронное выполнение doRun.run() в потоке обработки событий AWT.
static boolean isDescendingFrom(Component a, Component b)
Возвращает true, если компонент a является потомком компонента b
static boolean isEventDispatchThread()
Возвращает true, если текущий поток является потоком обработки событий AWT.
static boolean isLeftMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие левой кнопки мыши.
static boolean isMiddleMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие средней кнопки мыши.
static final boolean isRectangleContainingRectangle(Rectangle a, Rectangle b)
Возвращает true, если a содержит b
static boolean isRightMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие правой кнопки мыши.
static String layoutCompoundLabel(FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
Вычисляет и возвращает положение начала координат значка, положение начала базовой линии текста и, возможно, обрезанную строку составной метки.
static String layoutCompoundLabel(JComponent c, FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
Вычисляет и возвращает положение начала координат значка, положение начала базовой линии текста и, возможно, обрезанную строку составной метки.
static boolean notifyAction(Action action, KeyStroke ks, KeyEvent event, Object sender, int modifiers)
Вызывает actionPerformed для action, если action не равен null, и принимает объект-отправитель.
static void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h)
Рисует компонент в указанный Graphics.
static void paintComponent(Graphics g, Component c, Container p, Rectangle r)
Рисует компонент в указанный Graphics.
static boolean processKeyBindings(KeyEvent event)
Обрабатывает привязки клавиш для Component, связанного с event.
static void replaceUIActionMap(JComponent component, ActionMap uiActionMap)
Вспомогательный метод для изменения ActionMap пользовательского интерфейса для component на uiActionMap.
static void replaceUIInputMap(JComponent component, int type, InputMap uiInputMap)
Вспомогательный метод для изменения InputMap пользовательского интерфейса для component на uiInputMap.
static void updateComponentTreeUI(Component c)
Простой способ сменить стиль оформления: запросить у каждого узла дерева выполнить updateUI(), то есть инициализировать его свойство пользовательского интерфейса текущим стилем оформления.
static Window windowForComponent(Component c)
Возвращает первого предка Window для c или null, если c не содержится внутри Window.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарел, планируется удаление: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате уведомления или прерывания, либо до истечения определённого промежутка реального времени.

Подробное описание методов

isRectangleContainingRectangle

public static final boolean isRectangleContainingRectangle(Rectangle a, Rectangle b)
Возвращает true, если a содержит b
Параметры:
a — первый прямоугольник
b — второй прямоугольник
Возвращает:
true, если a содержит b

getLocalBounds

public static Rectangle getLocalBounds(Component aComponent)
Возвращает прямоугольник (0,0,bounds.width,bounds.height) для компонента aComponent
Параметры:
aComponent — компонент
Возвращает:
локальные границы компонента aComponent

getWindowAncestor

public static Window getWindowAncestor(Component c)
Возвращает первого предка Window компонента c или null, если c не содержится внутри Window.
Параметры:
c — Component, для которого нужно получить предка Window.
Возвращает:
первого предка Window компонента c или null, если c не содержится внутри Window.
Начиная с:
1.3

convertPoint

public static Point convertPoint(Component source, Point aPoint, Component destination)
Преобразует aPoint из системы координат source в систему координат destination. Если source имеет значение null, предполагается, что aPoint задана в системе координат корневого компонента destination. Если destination имеет значение null, aPoint будет преобразована в систему координат корневого компонента source. Если и source, и destination имеют значение null, возвращает aPoint без преобразования.
Параметры:
source — исходный компонент
aPoint — точка
destination — целевой компонент
Возвращает:
преобразованную координату

convertPoint

public static Point convertPoint(Component source, int x, int y, Component destination)
Преобразует точку (x,y) из системы координат source в систему координат destination. Если source имеет значение null, предполагается, что (x,y) задана в системе координат корневого компонента destination. Если destination имеет значение null, (x,y) будет преобразована в систему координат корневого компонента source. Если и source, и destination имеют значение null, возвращает (x,y) без преобразования.
Параметры:
source — исходный компонент
x — координата x точки
y — координата y точки
destination — целевой компонент
Возвращает:
преобразованную координату

convertRectangle

public static Rectangle convertRectangle(Component source, Rectangle aRectangle, Component destination)
Преобразует прямоугольник aRectangle из системы координат source в систему координат destination. Если source имеет значение null, предполагается, что aRectangle задан в системе координат корневого компонента destination. Если destination имеет значение null, aRectangle будет преобразован в систему координат корневого компонента source. Если и source, и destination имеют значение null, возвращает aRectangle без преобразования.
Параметры:
source — исходный компонент
aRectangle — прямоугольник
destination — целевой компонент
Возвращает:
преобразованный прямоугольник

getAncestorOfClass

public static Container getAncestorOfClass(Class<?> c, Component comp)
Вспомогательный метод для поиска вверх по иерархии компонентов от comp; возвращает первый найденный объект класса c. Может вернуть null, если класс c не найден.
Параметры:
c — класс компонента
comp — компонент
Возвращает:
предка comp или null, если c не найден.

getAncestorNamed

public static Container getAncestorNamed(String name, Component comp)
Вспомогательный метод для поиска вверх по иерархии компонентов от comp; возвращает первый найденный объект с именем name. Может вернуть null, если name не найден.
Параметры:
name — имя компонента
comp — компонент
Возвращает:
предка comp или null, если name не найден.

getDeepestComponentAt

public static Component getDeepestComponentAt(Component parent, int x, int y)
Возвращает самый глубокий видимый дочерний компонент parent, содержащий точку x, y. Если parent не содержит указанную точку, возвращается null. Если parent не является контейнером или ни один из видимых дочерних компонентов parent не содержит указанную точку, возвращается parent.
Параметры:
parent — корневой компонент, с которого начинается поиск
x — целевая координата x
y — целевая координата y
Возвращает:
самый глубокий компонент

convertMouseEvent

public static MouseEvent convertMouseEvent(Component source, MouseEvent sourceEvent, Component destination)
Возвращает MouseEvent, аналогичный sourceEvent, за исключением того, что его поля x и y преобразованы в систему координат destination. Если source имеет значение null, предполагается, что поля x и y события sourceEvent заданы в системе координат корневого компонента destination. Если destination имеет значение null, возвращаемый MouseEvent будет задан в системе координат source. sourceEvent не изменяется. Возвращается новое событие. Полю source возвращаемого события будет присвоено значение destination, если целевой компонент не является null. Используйте метод translateMouseEvent(), чтобы преобразовать событие мыши из одного компонента в другой, не меняя источник.
Параметры:
source — исходный компонент
sourceEvent — исходное событие мыши
destination — целевой компонент
Возвращает:
новое событие мыши

convertPointToScreen

public static void convertPointToScreen(Point p, Component c)
Преобразует точку из системы координат компонента в экранные координаты.
Параметры:
p — объект Point (преобразуется в новую систему координат)
c — объект Component

convertPointFromScreen

public static void convertPointFromScreen(Point p, Component c)
Преобразует точку из экранных координат в систему координат компонента
Параметры:
p — объект Point (преобразуется в новую систему координат)
c — объект Component

windowForComponent

public static Window windowForComponent(Component c)
Возвращает первого предка Window компонента c или null, если c не содержится внутри Window.

Примечание: этот метод предоставляет те же возможности, что и getWindowAncestor.

Параметры:
c — Component, для которого нужно получить предка Window.
Возвращает:
первого предка Window компонента c или null, если c не содержится внутри Window.

isDescendingFrom

public static boolean isDescendingFrom(Component a, Component b)
Возвращает true, если компонент a является потомком компонента b
Параметры:
a — первый компонент
b — второй компонент
Возвращает:
true, если компонент a является потомком компонента b

computeIntersection

public static Rectangle computeIntersection(int x, int y, int width, int height, Rectangle dest)
Вспомогательный метод для вычисления пересечения двух прямоугольников без создания нового прямоугольника. Если прямоугольники не пересекаются, возвращаемый прямоугольник начинается в точке (0,0) и имеет нулевые ширину и высоту.
Параметры:
x — координата X верхней левой точки первого прямоугольника
y — координата Y верхней левой точки первого прямоугольника
width — ширина первого прямоугольника
height — высота первого прямоугольника
dest — второй прямоугольник
Возвращает:
dest, изменённый для описания пересечения

computeUnion

public static Rectangle computeUnion(int x, int y, int width, int height, Rectangle dest)
Вспомогательный метод, вычисляющий объединение двух прямоугольников без создания нового прямоугольника.
Параметры:
x — координата x первого прямоугольника
y — координата y первого прямоугольника
width — ширина первого прямоугольника
height — высота первого прямоугольника
dest — координаты второго прямоугольника; объединение двух прямоугольников будет возвращено в этом прямоугольнике
Возвращает:
dest Rectangle

computeDifference

public static Rectangle[] computeDifference(Rectangle rectA, Rectangle rectB)
Вспомогательный метод, возвращающий массив прямоугольников, представляющих области внутри rectA, которые не перекрываются с rectB. Если два прямоугольника не перекрываются, возвращает пустой массив
Параметры:
rectA — первый прямоугольник
rectB — второй прямоугольник
Возвращает:
массив прямоугольников, представляющих области внутри rectA, которые не перекрываются с rectB.

isLeftMouseButton

public static boolean isLeftMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие левой кнопки мыши.
Параметры:
anEvent — объект MouseEvent
Возвращает:
true, если была нажата левая кнопка мыши

isMiddleMouseButton

public static boolean isMiddleMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие средней кнопки мыши.
Параметры:
anEvent — объект MouseEvent
Возвращает:
true, если была нажата средняя кнопка мыши

isRightMouseButton

public static boolean isRightMouseButton(MouseEvent anEvent)
Возвращает true, если событие мыши указывает на нажатие правой кнопки мыши.
Параметры:
anEvent — объект MouseEvent
Возвращает:
true, если была нажата правая кнопка мыши

computeStringWidth

public static int computeStringWidth(FontMetrics fm, String str)
Вычисляет ширину строки с помощью шрифта с указанными «метриками» (размерами).
Параметры:
fm — объект FontMetrics для вычисления
str — строка для вычисления
Возвращает:
значение int, содержащее ширину строки

layoutCompoundLabel

public static String layoutCompoundLabel(JComponent c, FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
Вычисляет и возвращает положение начала координат значка, положение начала базовой линии текста и, возможно, обрезанную версию составной метки. Положения вычисляются относительно прямоугольника viewR. Также учитывается ориентация JComponent (LEADING/TRAILING) и соответственно преобразуется в значения LEFT/RIGHT.
Параметры:
c — компонент
fm — экземпляр FontMetrics
text — текст
icon — значок
verticalAlignment — вертикальное выравнивание
horizontalAlignment — горизонтальное выравнивание
verticalTextPosition — вертикальное положение текста
horizontalTextPosition — горизонтальное положение текста
viewR — доступный прямоугольник
iconR — прямоугольник значка
textR — прямоугольник текста
textIconGap — интервал между текстом и значком
Возвращает:
возможно, обрезанную версию составной метки

layoutCompoundLabel

public static String layoutCompoundLabel(FontMetrics fm, String text, Icon icon, int verticalAlignment, int horizontalAlignment, int verticalTextPosition, int horizontalTextPosition, Rectangle viewR, Rectangle iconR, Rectangle textR, int textIconGap)
Вычисляет и возвращает положение начала координат значка, положение начала базовой линии текста и, возможно, обрезанную версию составной метки. Положения вычисляются относительно прямоугольника viewR. Этот вариант layoutCompoundLabel() не обрабатывает значения LEADING/TRAILING для horizontalTextPosition (по умолчанию используется RIGHT) и horizontalAlignment (по умолчанию используется CENTER). Вместо него используйте другой вариант layoutCompoundLabel().
Параметры:
fm — экземпляр FontMetrics
text — текст
icon — значок
verticalAlignment — вертикальное выравнивание
horizontalAlignment — горизонтальное выравнивание
verticalTextPosition — вертикальное положение текста
horizontalTextPosition — горизонтальное положение текста
viewR — доступный прямоугольник
iconR — прямоугольник значка
textR — прямоугольник текста
textIconGap — интервал между текстом и значком
Возвращает:
возможно, обрезанную версию составной метки

paintComponent

public static void paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h)
Отрисовывает компонент в указанный объект Graphics. Этот метод в основном полезен для отрисовки Component, которые не входят в видимую иерархию вложенности, но используются для отрисовки. Например, если вы выполняете собственную отрисовку и хотите отобразить текст (или даже HTML), можно воспользоваться поддержкой отрисовки текста в JLabel и выполнить отрисовку напрямую с помощью этого метода, не добавляя метку в видимую иерархию вложенности.

Этот метод использует CellRendererPane для выполнения отрисовки и рекомендуется, только если для отрисовки используется один компонент. Если для отрисовки используются несколько компонентов, как это делает JTable, используйте напрямую CellRendererPane. В противном случае, как описано ниже, можно получить по одному CellRendererPane на каждый Component.

Если родительский компонент c не является CellRendererPane, создаётся новый CellRendererPane, в него добавляется c, а CellRendererPane добавляется в p. Если родительский компонент c является CellRendererPane, а родительский компонент CellRendererPane не является p, он добавляется в p.

Компонент должен быть потомком JComponent или другим видом облегчённого компонента. Облегчённый компонент — это компонент, у которого свойство «lightweight» (возвращаемое методом Component isLightweight) имеет значение true. Если компонент не является облегчённым, могут возникнуть проблемы: сбои, исключения, проблемы с отрисовкой...

Параметры:
g — объект Graphics, в который выполняется отрисовка
c — Component для отрисовки
p — промежуточный Container
x — значение int, задающее левую границу области отрисовки в пикселях относительно левого края графического контекста
y — значение int, задающее верхнюю границу области отрисовки в пикселях относительно верхнего края графического контекста
w — значение int, задающее ширину области отрисовки в пикселях
h — значение int, задающее высоту области отрисовки в пикселях
См. также:
  • CellRendererPane
  • Component.isLightweight()

paintComponent

public static void paintComponent(Graphics g, Component c, Container p, Rectangle r)
Отрисовывает компонент в указанный объект Graphics. Это перегрузка метода paintComponent(Graphics,Component,Container,int,int,int,int). Дополнительные сведения см. в его описании.
Параметры:
g — объект Graphics, в который выполняется отрисовка
c — Component для отрисовки
p — промежуточный Container
r — Rectangle, в котором выполняется отрисовка
См. также:
  • paintComponent(Graphics,Component,Container,int,int,int,int)
  • CellRendererPane

updateComponentTreeUI

public static void updateComponentTreeUI(Component c)
Простой способ сменить внешний вид: запросить у каждого узла дерева выполнить updateUI(), то есть инициализировать свойство UI текущим внешним видом.
Параметры:
c — компонент

invokeLater

public static void invokeLater(Runnable doRun)
Асинхронно выполняет doRun.run() в потоке диспетчеризации событий AWT. Выполнение произойдёт после обработки всех ожидающих событий AWT. Этот метод следует использовать, когда потоку приложения требуется обновить графический интерфейс. В следующем примере вызов invokeLater помещает объект Runnable doHelloWorld в очередь потока диспетчеризации событий, а затем выводит сообщение.
Runnable doHelloWorld = new Runnable() {
    public void run() {
        System.out.println("Hello World on " + Thread.currentThread());
    }
};

SwingUtilities.invokeLater(doHelloWorld);
System.out.println("This might well be displayed before the other message.");
Если invokeLater вызывается из потока диспетчеризации событий — например, из ActionListener кнопки JButton, — вызов doRun.run() всё равно будет отложен до обработки всех ожидающих событий. Обратите внимание: если doRun.run() выбрасывает неперехваченное исключение, поток диспетчеризации событий завершится (а не текущий поток).

Дополнительную документацию и примеры использования этого метода можно найти в разделе Параллельное программирование в Swing.

Начиная с версии 1.3 этот метод является лишь перегрузкой java.awt.EventQueue.invokeLater().

В отличие от остальных методов Swing, этот метод можно вызывать из любого потока.

Параметры:
doRun — экземпляр Runnable
См. также:
  • invokeAndWait(Runnable)

invokeAndWait

public static void invokeAndWait(Runnable doRun) throws InterruptedException, InvocationTargetException
Синхронно выполняет doRun.run() в потоке диспетчеризации событий AWT. Этот вызов блокируется до обработки всех ожидающих событий AWT, после чего doRun.run() возвращает управление. Этот метод следует использовать, когда потоку приложения требуется обновить графический интерфейс. Его нельзя вызывать из потока диспетчеризации событий. Ниже приведён пример создания нового потока приложения, который использует invokeAndWait для вывода строки из потока диспетчеризации событий, а после завершения этого действия выводит строку из потока приложения.
final Runnable doHelloWorld = new Runnable() {
    public void run() {
        System.out.println("Hello World on " + Thread.currentThread());
    }
};

Thread appThread = new Thread() {
    public void run() {
        try {
            SwingUtilities.invokeAndWait(doHelloWorld);
        }
        catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println("Finished on " + Thread.currentThread());
    }
};
appThread.start();
Обратите внимание: если метод Runnable.run выбрасывает неперехваченное исключение (в потоке диспетчеризации событий), оно перехватывается и повторно выбрасывается как InvocationTargetException в вызывающем потоке.

Дополнительную документацию и примеры использования этого метода можно найти в разделе Параллельное программирование в Swing.

Начиная с версии 1.3 этот метод является лишь перегрузкой java.awt.EventQueue.invokeAndWait().

Параметры:
doRun — экземпляр Runnable
Выбрасывает:
InterruptedException — если ожидание завершения выполнения doRun.run() потоком диспетчеризации событий прервано
InvocationTargetException — если при выполнении doRun выброшено исключение
См. также:
  • invokeLater(Runnable)

isEventDispatchThread

public static boolean isEventDispatchThread()
Возвращает true, если текущий поток является потоком диспетчеризации событий AWT.

Начиная с версии 1.3 этот метод является лишь перегрузкой java.awt.EventQueue.isDispatchThread().

Возвращает:
true, если текущий поток является потоком диспетчеризации событий AWT

getAccessibleIndexInParent

public static int getAccessibleIndexInParent(Component c)
Получает индекс этого объекта в его доступном родительском объекте.

Примечание: начиная с версии 1.3 платформы Java 2 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleIndexInParent() вместо использования этого метода.

Параметры:
c — компонент
Возвращает:
-1, если у этого объекта нет доступного родительского объекта. В противном случае — индекс дочернего объекта в его доступном родительском объекте.

getAccessibleAt

public static Accessible getAccessibleAt(Component c, Point p)
Возвращает дочерний объект Accessible, расположенный в локальной координате Point, если такой объект существует. В противном случае возвращает null.
Параметры:
c — компонент
p — локальная координата
Возвращает:
объект Accessible в указанном месте, если он существует; в противном случае — null

getAccessibleStateSet

public static AccessibleStateSet getAccessibleStateSet(Component c)
Получает состояние этого объекта.

Примечание: начиная с версии 1.3 платформы Java 2 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleIndexInParent() вместо использования этого метода.

Параметры:
c — компонент
Возвращает:
экземпляр AccessibleStateSet, содержащий текущий набор состояний объекта
См. также:
  • AccessibleState

getAccessibleChildrenCount

public static int getAccessibleChildrenCount(Component c)
Возвращает количество доступных дочерних объектов объекта. Если все дочерние объекты этого объекта реализуют Accessible, этот метод должен возвращать количество дочерних объектов данного объекта.

Примечание: начиная с версии 1.3 платформы Java 2 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleIndexInParent() вместо использования этого метода.

Параметры:
c — компонент
Возвращает:
количество доступных дочерних объектов объекта.

getAccessibleChild

public static Accessible getAccessibleChild(Component c, int i)
Возвращает n-й доступный дочерний объект объекта.

Примечание: начиная с версии 1.3 платформы Java 2 разработчикам рекомендуется вызывать Component.AccessibleAWTComponent.getAccessibleIndexInParent() вместо использования этого метода.

Параметры:
c — компонент
i — индекс дочернего объекта, начинающийся с нуля
Возвращает:
n-й доступный дочерний объект объекта

findFocusOwner

@Deprecated public static Component findFocusOwner(Component c)
Устарело.
Начиная с версии 1.4 заменено на KeyboardFocusManager.getFocusOwner().
Возвращает дочерний элемент Component указанного Component, который является владельцем фокуса, если таковой имеется.
Параметры:
c — корень иерархии Component, в которой выполняется поиск владельца фокуса
Возвращает:
владельца фокуса или null, если владельца фокуса нет, либо если владелец фокуса не является comp или его потомком comp
См. также:
  • KeyboardFocusManager.getFocusOwner()

getRootPane

public static JRootPane getRootPane(Component c)
Если c является потомком JRootPane, возвращает его предка JRootPane. Если c является RootPaneContainer, возвращает его JRootPane.
Параметры:
c — компонент
Возвращает:
JRootPane для компонента c или null.

getRoot

public static Component getRoot(Component c)
Возвращает корневой компонент текущего дерева компонентов.
Параметры:
c — компонент
Возвращает:
первого предка c, который является Window

processKeyBindings

public static boolean processKeyBindings(KeyEvent event)
Обрабатывает привязки клавиш для Component, связанного с event. Этот метод полезен только в том случае, если event.getComponent() не является потомком JComponent или если вы вызываете super.processKeyEvent не из подкласса JComponent. JComponent автоматически обрабатывает привязки в своём методе processKeyEvent, поэтому обычно нет необходимости вызывать этот метод напрямую.
Параметры:
event — KeyEvent, используемый для определения привязок, которые необходимо обработать, а также компонента, находящегося в фокусе.
Возвращает:
true, если привязка найдена и обработана
С версии:
1.4

notifyAction

public static boolean notifyAction(Action action, KeyStroke ks, KeyEvent event, Object sender, int modifiers)
Вызывает actionPerformed для action, если action не равно null и принимает объект-отправитель. Команда для ActionEvent определяется следующим образом:
  1. Если действие зарегистрировано с помощью registerKeyboardAction, используется переданная строка команды (если передано null, используется null).
  2. Значение действия с именем Action.ACTION_COMMAND_KEY, если только не null.
  3. Строковое значение KeyEvent, если только getKeyChar не возвращает KeyEvent.CHAR_UNDEFINED..
Метод возвращает true, если action не равно null и для него вызывается actionPerformed.
Параметры:
action — действие
ks — сочетание клавиш
event — событие клавиши
sender — отправитель
modifiers — модификаторы действия
Возвращает:
true, если action не равно null и для него вызывается actionPerformed.
С версии:
1.3
См. также:
  • Action.accept(Object)

replaceUIInputMap

public static void replaceUIInputMap(JComponent component, int type, InputMap uiInputMap)
Вспомогательный метод для изменения UI InputMap компонента component на uiInputMap. Если uiInputMap равно null, ранее установленная UI InputMap удаляется.
Параметры:
component — компонент
type — тип
uiInputMap — InputMap
С версии:
1.3

replaceUIActionMap

public static void replaceUIActionMap(JComponent component, ActionMap uiActionMap)
Вспомогательный метод для изменения UI ActionMap компонента component на uiActionMap. Если uiActionMap равно null, ранее установленная UI ActionMap удаляется.
Параметры:
component — компонент
uiActionMap — ActionMap
С версии:
1.3

getUIInputMap

public static InputMap getUIInputMap(JComponent component, int condition)
Возвращает InputMap, предоставленную пользовательским интерфейсом для условия condition в компоненте component.

Возвращает null, если пользовательский интерфейс не установил InputMap указанного типа.

Параметры:
component — компонент
condition — условие
Возвращает:
ActionMap, предоставленную пользовательским интерфейсом для condition в компоненте, или null, если пользовательский интерфейс не установил InputMap указанного типа.
С версии:
1.3

getUIActionMap

public static ActionMap getUIActionMap(JComponent component)
Возвращает ActionMap, предоставленную пользовательским интерфейсом в компоненте component.

Возвращает null, если пользовательский интерфейс не установил ActionMap.

Параметры:
component — компонент
Возвращает:
ActionMap, предоставленную пользовательским интерфейсом в компоненте, или null, если пользовательский интерфейс не установил ActionMap.
С версии:
1.3

calculateInnerArea

public static Rectangle calculateInnerArea(JComponent c, Rectangle r)
Сохраняет положение и размер внутренней области рисования указанного компонента в r и возвращает r. Положение и размер задают границы компонента, скорректированные таким образом, чтобы не включать область границы (внутренние отступы). Этот метод полезен для классов, реализующих код рисования.
Параметры:
c — рассматриваемый JComponent; если null, метод возвращает null
r — экземпляр Rectangle, который будет изменён; может быть null
Возвращает:
null, если компонент равен null; в противном случае возвращает переданный прямоугольник (если он не равен null) или новый прямоугольник с информацией о положении и размере
С версии:
1.4

getUnwrappedParent

public static Container getUnwrappedParent(Component component)
Возвращает первого предка component, который не является экземпляром JLayer.
Параметры:
component — Component, для которого нужно получить первого предка, не являющегося экземпляром JLayer.
Возвращает:
первого предка component, который не является экземпляром JLayer. Если такого предка найти не удаётся, возвращается null.
Выбрасывает:
NullPointerException — если component равно null
С версии:
1.7
См. также:
  • JLayer

getUnwrappedView

public static Component getUnwrappedView(JViewport viewport)
Возвращает первого потомка JViewport, который не является экземпляром JLayer. Если такого потомка найти не удаётся, возвращается null. Если компонент представления viewport не является JLayer, этот метод эквивалентен JViewport.getView(); в противном случае JLayer.getView() рекурсивно вызывается для всех вложенных JLayer.
Параметры:
viewport — JViewport, для которого нужно получить первого потомка, не являющегося экземпляром JLayer.
Возвращает:
первого потомка JViewport, который не является экземпляром JLayer. Если такого потомка найти не удаётся, возвращается null.
Выбрасывает:
NullPointerException — если viewport равно null
С версии:
1.7
См. также:
  • JViewport.getView()
  • JLayer

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API