ustawianie tekstu w JLabel na zdarzenie

0

Chcę aby poniższy program działał tak aby po kliknięciu przycisku "Pobierz" wyświetlił tekst "dziala" zamiast "Ala ma kota".

mport java.awt.EventQueue;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			@Override
			public void run() {
				new Ramka();
			}
		}
		);

	}

}
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Ramka extends JFrame {
	public BtnPobierz btnPobierak = new BtnPobierz();
	public Ramka () {
		super("RozliczNas");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);
		setLocation(200, 200);
		setLayout(new FlowLayout());
	
		add(btnPobierak);
		
		JLabel lbl = new JLabel("Ala ma kota");
		add(lbl);
		
		setSize(800, 450);
	}
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;

public class BtnPobierz extends JButton implements ActionListener {
	public BtnPobierz() {
		super("Pobierz");
		addActionListener(this);
	}
	@Override
	public void actionPerformed(ActionEvent e) {
		//Co tu powinno się znaleźć?
		
		
	}

}

Czyli co konkretnie powinno się znaleźć w miejscu którym oznaczyłem odpowiednio komentarzem.
Nie wiem jak odnieść się do 'lbl' z poziomu klasy BtnPobierz do klasy Ramka.

0

hej,
ja bym to zrobił tak:

  1. stworzył getters'a dla obiektu lbl
  2. utworzył konstruktor
public BtnPobierz(Ramka ramka){this.ramka=ramka}
  1. następnie w actionPerformed dodajesz
ramka.getLbl.setText("dziala")

i działa :)

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