Personalizacja przycisku w javie

Personalizacja przycisku w javie
M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 140
0

Witam utworzyłem sobie przycisk i chciałbym zrobić dwie rzeczy:

  1. Żeby przycisk to była tylko moja grafika bez tego podkładu podstawowego
  2. Że jak kliknę przycisk i będzie wciśnięty to żeby zmienił grafikę na wciśnięty. Czy jest taka funkcja czy samemu trzeba napisać, bo jak samemu to wiem ;)
bogdans
  • Rejestracja: dni
  • Ostatnio: dni
1
  1. Przydadzą się metody:
Kopiuj
b.setFocusPainted(false);
b.setIcon(icons[0]);
b.setRolloverIcon(icons[1]);
b.setPressedIcon(icons[2]);
b.setSelectedIcon(icons[3]);

icons to tablica z grafikami

  1. Sprawdź co otrzymasz po
Kopiuj
b.setPreferredSize(new Dimension(wymiary ikony));
M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 140
0

Z jedynką już się uwinąłem ;)

Kopiuj
penButton.setBorder(BorderFactory.createEmptyBorder()); // usuwa obramowanie 
 

Ale z dwójki skorzystam :)

M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 140
0

Mam mały problem tą dwójką jak mam przycisk wybrany w kodzie:

Kopiuj
		pencilButton.setBorder(BorderFactory.createEmptyBorder());
		pencilButton.setIcon(new ImageIcon(this.getClass().getResource("Pencil.png")));
		pencilButton.setFocusPainted(false);
		pencilButton.setSelected(true);
		pencilButton.setSelectedIcon(new ImageIcon(this.getClass().getResource("PencilPushed.png"))); 

to ikona się zmieniła na stałe ale gdy mam tak:

Kopiuj
		pencilButton.setBorder(BorderFactory.createEmptyBorder());
		pencilButton.setIcon(new ImageIcon(this.getClass().getResource("Pencil.png")));
		pencilButton.setFocusPainted(false);
		pencilButton.setSelectedIcon(new ImageIcon(this.getClass().getResource("PencilPushed.png"))); 

To już nie działa po wciśnięciu przycisku dalej jest zwykła ikona

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Metoda setSelectedIcon zmienia ikonę dla przycisków dwustanowych (np. JToggleButton), użyj metody setPressedIcon.

M9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 140
0

To muszę zmienić typ przycisku bo setPressedIcon zmienia tylko jak klikam a jak już jest wybrany to ma normalną ikonę

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.