Pisze program schroniska dla zwierząt, który trzyma w bazie danych zwierzęta różnych klas (Dog, Cat, Monkey) i funkcje które tworzą formularz i dodają zwierzęta są bardzo podobne(różnią się jedym, dwoma pytaniami a reszta jest taka sama zawsze). Czy da się je jakoś podzielić na fragmenty tak aby kod w programie się nie powtarzał?
najprościej jest chyba wydzielić klasę nadrzędną i tam wrzuć części wspólne - w postaci kilku metod.
Twoje metody admit{gatunek} ogólnie robią za dużo.
Powinieneś stworzyć trzy klasy - AnimalForm i roszerzające ją DogForm, CatForm…
tworzenie
JPanel panel = new JPanel();
powinno być przesunięte do odrębnej metody
a samo dodawanie pól do niej podzielone na metodę w klasie AnimalForm powiadająca pola wspólne i metodę implementowaną w każdej z podklas.
to rozwiązanie z grupy tych prostszych, mniej zaawansowanych. jak wolisz coś jeszcze piękniejszego w formie to masz od tego wzorce projektowe, np kompozycję.