Przekazanie obrazka do drugiej klasy

0

cześć
Mam klasę, w której wczytuję obrazek. Chciałbym użyć tego obrazka w innej klasie.
fragment kodu:

public class Obrazki {
	
	public Obrazki(){
	ImageIcon domek = new ImageIcon("domek.jpg");
	}
}
// tutaj jest ok
public class Guziki extends JPanel implements ActionListener {
JButton guzik = new JButton("guzik");
Obrazki domek = new Obrazki();

public Guziki(){
add(guzik);
guzik.addActionListener(this);
}

public void actionPerformed(ActionEvent e){
		Object source = e.getSource();
if(guzik==source){
guzik.setIcon(new ImageIcon(domek));
}
}
}

błąd jest w tej linijce guzik.setIcon(new ImageIcon(domek));
jest nim niezdefiniowany konstruktor, i za bardzo nie wiem gdzie go zdefiniować

public class MyFrame extends JFrame{
Wczytywanie wczytywanie=new Wczytywanie();
public MyFrame() {

    	JPanel panelGlowny = new JPanel(); //panel główny
    	panelGlowny.setLayout(new FlowLayout());
    	panelGlowny.add(wczytywanie);
    	setContentPane(panelGlowny);
public class Test {
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                new MyFrame();
            }
        });
    }
}

Nie wklejam całego programu bo jest dość długi, chodzi mi o samo przekazanie tego obrazka do JButtona, jeśli brakuje tu potrzebnej do rozwiązania problemu części programu, to dokleję w poście

0

A skad klasa ImageIcon ma miec konstruktor przyjmujacy obiekt klasy Obrazki?

Moze przeczytaj jakis tutorial na temat Javy?

0
public class Obrazki {
		private ImageIcon domek;
	    public Obrazki(){
	    domek = new ImageIcon("domek.jpg");
	    }
	    public ImageIcon getObrazek()
	    {
	    	return domek;
	    }
	}

dalej

Obrazki domek = new Obrazki();
guzik.setIcon(domek.getObrazek());
0

dzięki Damian, działa tak jak chciałem

zanim napiszę na forum czytam poradniki i tematy na forach z problemem podobnym do mojego, jednak klasy i przesyłanie danych między nimi cały czas są dla mnie czarną magią
mam jednak nadzieję, że z upływem czasu w końcu to zrozumiem :)

dzięki jeszcze raz za pomoc

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