Personalizacja przycisku w javie

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 ;)
1
  1. Przydadzą się metody:
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
b.setPreferredSize(new Dimension(wymiary ikony));
0

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

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

Ale z dwójki skorzystam :)

0

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

		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:

		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

0

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

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1