// RootPaneContainer can get layeredPane, if you want get location, you can case class to cantainer.
// May return null
private static RootPaneContainer getTopContainer(Component comp) {
Container parent = comp.getParent();
while ((parent != null) && !(parent instanceof Frame || parent instanceof Dialog || parent instanceof Applet)) {
parent = parent.getParent();
}
return (RootPaneContainer) parent;
}
// May return null
private static Window getTopLevelWindow(Component comp) {
Container parent = comp.getParent();
while ((parent != null) && !(parent instanceof Frame || parent instanceof Dialog)) {
parent = parent.getParent();
}
return (Window) parent;
}