Witam, napisalem kalkulator (funkcje + gui) wszystko ladnie dziala. Gui jest napisane z użyciem biblioteki awt. Po krotce program działa tak, że mamy po kolei przyciski 9,8,7 itp i po nacisnięciu przycisku trafia on do osobnej klasy z funkcjami i tam wlasnie sa wykonywane obliczenia a wyniki sa przedstawione na text fieldzie. Chcialbym zmienic wygląd i mam dla każdego przycisku jakiś wygląd w plikach jpg. Robie to tak :
Wcześniejsza wersja:
String[] labs = { "7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3",
"-", "0", ".", "=", "+", "C" };
Funkcja do dodawania action listenerow itp :
for (int i = 0; i < labs.length; i++) {
Button b = new Button(labs[i]);
panel.add(b);
b.addActionListener(this);
}
Ustawienie layout:
setLayout(new BorderLayout());
ramka.getContentPane().add(BorderLayout.CENTER, panel);
ramka.getContentPane().add(BorderLayout.PAGE_START, wynik); // TextField z wynikiem
Co probowalem zrobic:
ImageIcon o4 = new ImageIcon("src/images/4.jpg", "4");
p4 = new JButton(o4);
p4.setIcon(new ImageIcon("images/4.jpg"));
panel.add(p4);
Gdy próbowałem robić coś takiego przyciski zamieniały się w długie prostokąty z małymi obrazkami i mogłem ich dodać maksymalnie 5 (gridLayout(5,4) wiec odpowiadalo to liczbie rzedow). Po dodaniu wiekszej liczby wszystko znika. Jak to rozwiazac?
Chcialbym jak najmniej zmieniać kod i nie dodawać dodatkowych actionListenerow do każdego przycisku z osobna tylko ustawić np obrazek dla niego i jakąś liczbę jak go naciśniemy która trafia do ActionListenera i przekazywana jest do klasy z funkcjami.
Bardzo proszę o pomoc.