Dobra, kod jest całkiem fajny. Bardzo dobrze, że piszesz po angielsku i ze masz odpowiednią strukturę plików. Ja generalnie nie znam się na swingu więc nie wypowiem się na temat użytych komponentów ze swinga ale skupię się na czytelności kodu.
W całym kodzie brakuje jednolitego formatowania:
- formatowanie kodu (gdzie niegdzie za duzo nowych lini, jakiego IDE uzywasz? - kazdy ma jakis auto formater wbudowany)
klasa ButtonsPanel
- wywal komentarze (po to jest historia na gicie zeby sprawdzac poprzednie wersje)- twoje menu (linia 56+) wyrzuc do innej funkcji
- showUI() i to wszystko co sie dzieje w srodku mozna zrobic za pomoca petli i to bedzie lepeij skalowalne.
klasa MainPanel
- linia 93 -> if (for(if - nie idzie sie w tym polapac i na pewno da sie to zrobic bez takiego zagniezdzenia. PAMIETAJ if w ifie to nie jest dobra praktyka, a ty tam jeszcze petle dajesz :D
klasa Model
- to samo co wyzej odnosnie for(if(if))) w az 4 miejscach
klasa Wrapper
- to samo co wyzej for(if(if(switch)))) - koniecznie to popraw :)