Obrazek jako przycisk

RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Hej

Mam taki kod:

Kopiuj
ImageIcon ikona = new ImageIcon("X:\\xxx\\xxx\\xxx\\xxx.PNG");
przycisk = new JButton(ikona);
przycisk.setBackground(Color.white);
przycisk.setBounds(50, 50, 100, 100);
add(przycisk);
przycisk.addActionListener(this);

Zależy mi na tym żeby obraz był przyciskiem. Przy tym kodzie wszystko jest jak należy ale przycisk ma swoje ramy/ma swoją ramkę. Da się to jakoś usunąć, żeby ramy przycisku wyznaczał obrazek? (Obrazek ma tło przezroczyste).

dodanie znacznika <code class="java"> - fp

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
setBorderPaint(false)

?

RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0
bogdans napisał(a):
Kopiuj
setBorderPaint(false)

?

Nie działa/nie ma żadnej zmiany po dodani tej metody. Tak samo nic się nie zmienia jak dodam którykolwiek z nich:

Kopiuj
     
button.setPressedIcon(new ImageIcon("down.png"));
button.setRolloverIcon(new ImageIcon("over.png"));
button.setSelectedIcon(new ImageIcon("sel.png"));
button.setRolloverSelectedIcon(new ImageIcon("sel-over.png"));

Program się uruchamia, może wpisuje w złe miejsce?

ShookTea
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 629
0

Niezbyt dobrze się znam, ale być może zadziała, gdy po każdej zmianie komponentu rzuci się validate() (lub revalidate()) na JFrame.

RU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 211
0

Nie pomogło.

Wydaje mi się, że wszystko wpisuje dobrze, całość parametrów umieszczam w konstruktorze i nie widzę rezultatu...

Edit: Rozwiązałem stosując JLabel i MouseListener...

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.