javax.swing.SwingUtilities 封裝了大量 Swing 內部使用的實用靜態方法,涵蓋坐標轉換、幾何計算、鼠標判斷、焦點查找、繪製佈局等,開發者可直接調用。
convertMouseEvent(source, e, destination):組件間鼠標事件轉發。convertPoint(source, x, y, dest) / convertPoint(source, Point, dest):點坐標跨組件轉換。convertPointFromScreen(Point, Component) / convertPointToScreen(Point, Component):屏幕坐標與組件坐標互轉。convertRectangle(source, Rectangle, dest):矩形區域跨組件轉換。computeDifference(Rectangle, Rectangle):兩矩形差集(返回矩形數組)。computeIntersection(x, y, w, h, dest):交集。computeUnion(x, y, w, h, dest):並集。computeStringWidth(FontMetrics, String):字符串像素寬度。isRectangleContainingRectangle(a, b):判斷 a 是否包含 b。isLeftMouseButton(MouseEvent)isMiddleMouseButton(MouseEvent)isRightMouseButton(MouseEvent)findFocusOwner(Component):獲取焦點擁有者。getRoot(Component):獲取根組件(Window/Applet)。getRootPane(Component):獲取 JRootPane。windowForComponent(Component):獲取所屬 Window。layoutCompoundLabel(...):計算標籤/按鈕中文本、圖標的佈局矩形(兩個重載:基礎版 / JComponent 版)。paintComponent(Graphics, Component, Container, x, y, w, h) / paintComponent(Graphics, Component, Container, Rectangle):在任意 Graphics 上繪製組件外觀。convertPointToScreen 計算屏幕位置。computeIntersection 判斷區域重疊。