Hi,
ich habe ein JPanel mit einem Button drauf (100% Size, er füllt das Panel komplett aus). (ist eine Extra Klasse) Kann ich dem JPanel einen ActionListener hinzufügen, so dass bei einem Klick auf den Button die Action ausgeführt wird?
das ganze sieht ungefähr so aus bei mir:
Im Hauptprogramm (implementiert ActionListener) habe ich dann so etwas:
Leider passiert da garnichts
Bin für jede Hilfe dankbar
ich habe ein JPanel mit einem Button drauf (100% Size, er füllt das Panel komplett aus). (ist eine Extra Klasse) Kann ich dem JPanel einen ActionListener hinzufügen, so dass bei einem Klick auf den Button die Action ausgeführt wird?
das ganze sieht ungefähr so aus bei mir:
Code:
//...
class MyButton extends JPanel
implements ActionListener, MouseListener, MouseMotionListener{
String text;
JButton b;
public MyButton(String s) {
this.text = s;
b = new JButton(s);
add(b);
b.addMouseListener(this);
b.addMouseMotionListener(this);
}
// hab hier mal versucht zu überschreiben, damit der Button auch einen ActionListener bekommt
public void addActionListener(ActionListener a) {
b.addActionListener(a); // <- das müsste müll sein, mir ist aber nichts besseres eingefallen :(
// müsste warscheinlich die source so setzen, dass das MyButton objekt als source
// an das hauptprogramm übergeben wird.. nur wie mach ich das?
}
//...weiteres zeug
}
Im Hauptprogramm (implementiert ActionListener) habe ich dann so etwas:
Code:
// ...
MyButton b = new MyButton("test");
b.addActionListener(this);
// ...
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if ( source == b ) machWas();
}
// ...
Leider passiert da garnichts
Bin für jede Hilfe dankbar