Here you can find the source of getJFrameOfComponent(Component cmpnt)
public static JFrame getJFrameOfComponent(Component cmpnt)
//package com.java2s; /* //from ww w . j av a 2s .c o m * The MIT License * * Copyright 2014 Kamnev Georgiy (nt.gocha@gmail.com). * * ??????? ????????? ?????????, ????????????, ?????, ?????????? ????? ??????? ???????????? * ????????????? ? ??????????????? ???????????? (? ?????????? ?????????? "??????????? ????????????"), * ????????????? ??????????? ???????????? ??? ???????????, ???????? ?????????????? ????? ?? * ??????????????, ???????????, ?????????, ???????????, ??????????, ?????????????????, ?????????????????? * ?/??? ??????? ????? ???????????? ?????????????, ????? ??? ? ?????, ??????? ??????????????????? * ?????? ??????????? ????????????, ??? ??????????? ?????????? ????????: * * ??????????????? ???????? ? ?????? ????????? ?????? ???? ???????? ?? ???? ????? * ??? ???????? ?????? ??????? ???????????? ?????????????. * * ????????? ????????????? ???????????? ???????????????? ????? ?????, ??? ?????? ????? ???????????, * ????? ????????????? ??? ?????????????????, ????????, ??? ??? ???????????????? ????????????? ?????????? ????????????, * ???????????? ?? ??? ????????????? ??????????????? ? ??????????????? ?????. ??? ? ?????? ??????? ??????? * ??? ?????????????????? ??? ?????? ????????????????? ?? ?????? ? ??????????? ???????, ??????? * ??? ?????? ???????????? ?? ??????????? ?????????????, ????????? ??? ??????, ?????????? ??, ??????? * ????????? ??? ???????????? ? ????????????? ????????????? ??? ???????????????? ?????????????? ???????????? * ??? ?????? ?????????? ? ????????????? ?????????????. */ import java.awt.Component; import java.awt.Container; import javax.swing.JFrame; public class Main { public static JFrame getJFrameOfComponent(Component cmpnt) { if (cmpnt == null) { throw new IllegalArgumentException("cmpnt == null"); } Container cntr = cmpnt.getParent(); while (true) { if (cntr == null) break; if (cntr instanceof JFrame) break; cntr = cntr.getParent(); } if (cntr instanceof JFrame) return (JFrame) cntr; return null; } }