Buttonlistener hinzufügen.

LASERWPN

Grünschnabel
Hallo, schon mal vorweg ich bin noch ein Anfänger was Java angeht, lerne es gerade in der Schule. Nun haben wir begonnen mit Frames zu arbeiten und da mich das Thema ein wenig interresiert wollte ich nun in das so leere Fenster Buttons einfügen mit einer kleinen Funktion. Die Buttons einzufügen war kein Problem, doch habe ich jetzt ein Problem damit, einen Buttonlistener, hoffe das das das richtige ist was ich brauche, hinzuzufügen. Ich stelle mir das so ähnlich vor wie beim Windowlistener zum schließen des Fensters. Jetzt wollte ich fragen ob ihr mir vielleicht ein kleines Beispiel anhand meines Codes zeigen könnt wie so ein Buttonlistener eigentlich funktioniert, z.B indem sich das Fenster durch klickens auf den Button schließt. Würde mich darüber sehr freuen.

Hier mein Code:

Code:
import java.awt.event.*;
import java.awt.Frame;
import java.awt.FlowLayout;
import java.awt.Button;

public class Buttons extends Frame
{   
    public Buttons()
    {
        super("Mein Button Fenster");
        
        addWindowListener(new WindowAdapter() {
            public void windowClosing (WindowEvent e) {
                dispose();
            }
        });
        
        setLayout (new FlowLayout());
        add (new Button("Ende"));
        pack();
    }
    
    public static void main (String args[])
    {
        Buttons bf1 = new Buttons();
        bf1.setVisible(true);   
    }
}
 
Hi,

bin nicht so der Profi was awt angeht, aber vom Prinzip her ist es immer das gleiche.

Wenn jemand auf den Button klickt, wird ein Event ausgelöst. Dieses Event kannst du über einen Listener abfangen.

z.B. mit einem ActionListener

Code:
import java.awt.event.*;
import java.awt.Frame;
import java.awt.FlowLayout;
import java.awt.Button;

public class Buttons extends Frame
{   
    public Buttons()
    {
        super("Mein Button Fenster");
        
        addWindowListener(new WindowAdapter() {
            public void windowClosing (WindowEvent e) {
                dispose();
            }
        });
        
        setLayout (new FlowLayout());
        Button ende = new Button("Ende");
        ende.addActionListener(new ActionListener() {
        	public void actionPerformed(ActionEvent e) {
        		dispose();
        	}
        });
        add (ende);
        pack();
    }
    
    public static void main (String args[])
    {
        Buttons bf1 = new Buttons();
        bf1.setVisible(true);   
    }
}

Du könntest aber genauso gut auch einen MouseListener anhängen, womit du zwischen mouseDown/mouseUp/mouseClicked etc. unterscheiden könntest.

Gruß,
gring0
 
Zurück