Myślę, że powinniśmy rozszerzyć klasę tylko wtedy, gdy zamierzamy stworzyć bardziej szczegółową klasę nadklasy.Można dokonać wystąpienie Ramka jak JFrame frame= new Frame();
i można dodawać obiekty jak frame.getContentPane.add(widget)
Więc teraz, pozwala przyjrzeć się różnicy pomiędzy ramą a JPanel
JFrame powierniczego windows z niektórych wspólnych rzeczy używane do reprezentowania rzeczy A okno powinno mieć. Obejmuje to obramowania (zmienny rozmiar y/n?), Tytuł paska (nazwa aplikacji lub inna wiadomość), kontrolki (zminimalizowanie/maksymalizacja dozwolone?) I programy obsługi zdarzeń dla różnych zdarzeń systemowych, takich jak "zamknięcie okna" (zezwolenie na aplikację, aby zakończyć?). JFrame jest oknem powszechnie używanym w aplikacjach autonomicznych, takich jak okno ostrzegawcze lub okno powiadomień, które zwykle pojawiają się na ekranie. Używa metody detektora windows, która jest wykonywana za każdym razem, gdy zamykasz, otwierasz, maksymalizujesz, minimalizujesz lub aktywujesz okno.
JPanel - JPanel służy obecnie jako kontener ogólnego zastosowania. Jest tam, gdzie zwykle stawia się bardziej złożone lub większe operacje. Możesz umieścić wiele operacji w jednym panelu. JPanel jest podklasą JComponent, a JComponent jest podklasą kontenera, dlatego też JPanel jest także kontenerem. Jest tak wiele metod, które można wykorzystać w JPanelu, który odziedziczył po swoich super klasach. Dostępność, wyrównania i obserwator obrazu to tylko niektóre z jego przykładów. W JPanelu możesz także wstawiać pola, etykiety, przyciski, pola wyboru, a nawet obrazy i wiele innych funkcji. Jest to po prostu obszar, w którym można umieścić elementy wizualne i elementy sterujące.
Podobne pytanie: http://stackoverflow.com/questions/3497889/difference-between-jpanel-jframe-jcomponent-and-japplet –