Ein Event kreieren!

Hathor

Grünschnabel
Hallo,

wollte mal nachfragen, ob jemand weiß, wie man Events selbstkreieren kann und wie man dann damit umgeht.
Sinn und Zweck: ich habe einen Observer, der sich Daten holt, dies quittiert und nun ein Event setzen soll, so dass die Daten an anderer Stelle (z.b. im Gui) geändert werden können bzw. die Änderungen übernommen werden.

Stelle mir das vor, wie die Benutzung von den vorgefertigten Events wie zum Beispiel das PaintEvent - jedesmal wenn das Flag dieses Events gesetzt wurde, sollen Daten in der Anzeige geändert werden.

Wäre schön, wenn mir da jemand auf die Sprünge helfen kann wie ich da vorgehen kann!

Vielen Dank...
 
Zuletzt bearbeitet:
Hallo!

Versuchs mal damit:
Code:
/*
 * Created on 02.03.2005@09:36:46
 *
 * TODO Some Licence info...
 */
package de.tutorials;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

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

/**
 * @author TDarimont
 * 
 * TODO Explain me
 */
public class EventCreator extends JFrame {

    private JButton btn0, btn1;

    public EventCreator() {
        super("EventCreator");
        setDefaultCloseOperation(EXIT_ON_CLOSE);

        btn0 = new JButton("Button0");
        btn1 = new JButton("Button1");

        btn0.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("btn0 received Event");

                ActionEvent evt = new ActionEvent(btn0,
                        ActionEvent.ACTION_PERFORMED, "Foo");

                ActionListener al = (ActionListener) btn1
                        .getListeners(ActionListener.class)[0];
                al.actionPerformed(evt);

            }
        });

        btn1.setEnabled(false);

        btn1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.out.println("btn1 received Event");
            }
        });

        getContentPane().add(btn0, BorderLayout.NORTH);
        getContentPane().add(btn1, BorderLayout.SOUTH);

        pack();
        setVisible(true);
    }

    public static void main(String[] args) {
        new EventCreator();
    }
}

Gruß Tom
 
Zurück