Java Mouselistener Külön class?
Sziasztok!
Az lenne a kérdésem, hogy hogy lehet megoldani, hogy egy külön mouselistener osztályban okoskodjak a mouselistenerrel?
Tehát:
Van egy gui osztályom amely megcsinálja az ablakot, de nem akarom hogy ez a gui osztály implementálja a MouseListenert, hanem azt szeretném, hogy mondjuk Eger nevű osztály implementálja.
A kérdés, hogy a külső osztályban ahol van MouseListener hogy érem el a Gui osztályban definiált gombokat?
Úgy, hogy átadod neki a Gui-t:
public class Eger implements MouseListener {
private Gui gui;
public Eger(Gui gui) { this.gui=gui; }
}
Ha Gui-ban hozod létre, akkor: new Eger(this);
Nem tudom, én nem használtam MouseListener-t soha. Nézd meg a doksiját, hátha van benne valami sender objektum. Ha nincs, akkor a pozíciók alapján.
De JButton-okat nem MouseListener-rel szokás kezelni, hanem ActionListener-rel:
button.addActionListener(new Akciok(button));
___|||___|||__||__||__
package al;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
public class Akciok implements ActionListener{
JButton button;
public Akciok(JButton button){
this.button = button;
}
@Override
public void actionPerformed(ActionEvent e) {
button.setText("Háj");
}
}
Végül így csináltam meg. Ez elfogadható?
Ha több gomb van akkor megoldhatom úgy, hogy agomboknak adok egy számot és a fent említett módszert kibővítem if függvényekkel az actionperformed-ben, hogy ne az összes gomb írja át a szövegét arra, hogy Háj hanem mindegyik függetlenül viselkedjen?
Telóról vagyok érthető remélem amit írok :|
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!