Zapomniałem, dodać uwag do kodu. Całkiem w porządku jednak, pewne nawyki są do poprawienia. Nazewnictwo klas Support, Support1 z nazwy niech ktoś spróbuję zgadnąć za co są odpowiedzialne. Mieszanie polskich i angielskich nazw np.
boolean goodPio=false;
boolean goodPz=false;
boolean pionowo=false;
boolean poziomo=false;
Zakomentowane w kodzie funkcje , chyba w celu weryfikowania
// System.out.println("pionowo= "+pionowo+" poziomo= "+poziomo); //w
literowki w nazwach np. int numebrField;
Powtórzenia kodu kilkakrotnie (przynajmmniej 4 razy) np.
for(int i=0;i<st.numebrField;i++){
table[x+i][y]=st.numebrField;
}
Powinno znaleźć się w osobnej funkcji.
Nie wiem jak w Javie, ale w C# lepiej jakby tablica była [,] niż [][] . W sensie czytelniej jakby plansza była to tablica [x,y] (dwuwymiarowa) niż tablica składająca się z tablic [] (każda z tablic mogłaby mieć inne wymiary) .
Należy unikać używania stałych (liczb w funkcjach) np. Jak masz wielkość planszy,
marks=new String[]{"A","B","C","D","E","F","G","H","I","J"};
JLabel[]labelNumbers=new JLabel[11];
JLabel[]labelText=new JLabel[11];
To wyobraź sobie że chcesz zmienić rozmiar planszy na 20 na 18. W Twoim przypadku wymagane byłoby zmienienie w wielu miejscach wielu wartości. Liczby odpowiedzialne za wielkość powinny być przypisywane do zmiennej size=11 i później wykorzystywane.