Event in eigener Klasse implementieren ?

Status
Nicht offen für weitere Antworten.

RobertC

Mitglied
Hallo,
ich bin bei meinen erst Gehversuchen in Java unterwegs.
Sinn und Zweck des ersten Programms ist es:
Oberfläche mit einem Button. erledigt.
Bei Button Click einen String in ein TextFeld ausgeben. erledigt.

Prima, super einfach und klar.

Nun möchte beim Click auf einen zweiten Button ein Object einer eignen Klasse erzeugen. erledigt.
Dieser Klasse möchte ich einen String zuweisen. erledigt.
Wenn nun der zugewiesen String nicht mit dem in der Klasse enthaltenem String übereinstimmt soll ein Event ausgelöst werden.
Dieser soll im View aufschlagen und das zweite TextField mit dem aktuellem String der Klasse füllen.

Und hier hänge ich voll in den Seilen.

Ich weis mittlerweile das ich dazu einen ActionListner benötige.
Und das Java keine Delegates (Functionspointer) unterstützt.
Das drück mich ziemlich an die Wand.

Ich weis nicht wie ich den Event richtig auslöse.
Nicht wie ich den Event sauber fange.
Und schon gar nicht wie ich dem Event Argumente mit gebe.

Ich poste mal den Code der Klasse:

Code:
import java.awt.*; 
import java.awt.event.*; 
/** 
 * 
 * @author Robert 
 */ 
public class HelloEvent { 
/*Event Handling*/ 
    ActionListener myLinstener; 
    
    private void RaiseEvent(){ 
        this.myLinstener.actionPerformed(e); 
    } 
    
/*Private Member*/ 
    String myText; 

    /*Konstructor 1*/ 
    HelloEvent(String value){ 
        this.myText=value; 
    } 

    /*Konstructor 2*/ 
    HelloEvent(){ 
        this.myText=""; 
    } 

    /*Getter/Setter*/ 
    public String GetText(){ 
        return this.myText; 
    } 

    public void SetText(String value){ 
        if(this.myText != value){ 
            this.myText = value; 
            this.RaiseEvent(); 
        } 
    } 
}

Und en Snippet aus der View:

Code:
    private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      
        // TODO add your handling code here: 
        this.jTextField1.setText("HelloBeans"); 
    }                                      

    private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { 
        // TODO add your handling code here: 
        HelloEvent obj = new HelloEvent(); 
        obj.SetText("HelloEvent"); 
    }

Könnte Jemand so freundlich sein und mir erklären was zu tun ist um die gewünschte Funktion zu realisieren?

Ich wurschtel da nun seid anderhalb Tagen rum und komme nicht weiter.
Google, E-Books und sonstige Quellen vermitteln mir leider nicht das nötige Wisssen.

Gruß Robert
 

SirGecco

Mitglied
Hier ein Beispiel mit "Actionlistener". (Die GUI ist auf die "Schnelle" zusammengeschustert)

Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

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

public class MyGui extends JFrame implements ActionListener {

	
	
	private JButton textAusgeben;
	private JTextField textAnzeigen;
	private String  meinText = ("Ich bin der Text der erscheinen soll");

	
	public static void main(String[] args) {
		MyGui myGuy = new MyGui();
	}
	
	public MyGui() {
		super("Meine Anwendung");
		textAusgeben = new JButton("Text ausgeben");
//		Button beim Listener anmelden
		textAusgeben.addActionListener(this);
		textAnzeigen = new JTextField("Hier erscheint der Text");
		add(textAusgeben, BorderLayout.NORTH);
		add(textAnzeigen, BorderLayout.CENTER);
		setSize(250, 100);
		setVisible(true);
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		Object quelle = e.getSource();	
		if (quelle.equals(textAusgeben)){
			textAnzeigen.setText(meinText);
		}
	}

}
 

RobertC

Mitglied
Danke für den Beispiel Code.
Nur leider hast du die Klasse nicht benutzt.
Da mein Code nur zur Erkäuterung eines Grundsätzlichen Problems gedacht ist muss die Klasse aber verwendet werden!
Ich versuche zu verstehen wie man Events in eigenen Klassen in Java Nutzbar macht.

Könntest du mir da auch weiter helfen?

Gruß Robert
 

Landei

Top Contributor
Oh Mann! Da ist jemand so freundlich und beantwortet dir eine Frage, die schon tausendmal gestellt worden ist (schon mal was von Sun's Swing Tutorial gehört), und jetzt willst du nicht einmal das bisschen Aufwand betreiben, es zu verstehen und in deinen Code zu kopieren? Ist das dummfrech oder kommt mir das nur so vor?
Ich versuche zu verstehen...
Versuchst du nicht!
 
G

Gast

Gast
Ich bin mal so nett und versuche etwas mehr Hilfestellung zu geben (is ja auch bald Weihnachten).
Evtl. war das für dich etwas zu angedeutet.
Die wichtigsten Stellen in dem Beispiel nochmal hervorgehoben:
Code:
implements ActionListener
Code:
textAusgeben.addActionListener(this)
Code:
   @Override
   public void actionPerformed(ActionEvent e) {
      Object quelle = e.getSource();   
      if (quelle.equals(textAusgeben)){
         textAnzeigen.setText(meinText);
      }
   }

- Du implementierst den ActionsListener in deiner eigenen Klasse.
- Füg deiner eigenen Klasse "sich selber" als ActionListener hinzu
- Implementier die actionPerformed-Methode, die sagt, was zu tun ist, wenn eine Action performed wurde :D
 

RobertC

Mitglied
@Landei
Wie bist du denn drauf.
Schlech geschlafen?
Das tut mir aber leid!
Vielen Dank für deine hilfreichen und trolligen Ausführungen!
Und danke für den Link auf eins der tausend Postings!


@Gast
Ich konnte aus dem Code von SirGecco wirklich nicht die relevanten Codeteile raus filtern.
Und ich möchte es vertstehen und nicht mit Copy'n Paste meine Code zusammen stückeln.

Vielen Dank für die Erklärungen.

Der Knackpunkt ist wohl das man sich bei dem Actionlistener registriert und dann die Methode PerformAction überschreibt.

Werde es nun nach euren Ausführungen implementieren.
Vielen Dank an Alle.

Gruß Robert
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B OOP Eigener Event-Listener erstellen Java Basics - Anfänger-Themen 4
Fiedelbambu fxml onAction event Java Basics - Anfänger-Themen 7
T FXMl Event has not a Slot Java Basics - Anfänger-Themen 1
E Methoden Action Event wird nicht vollständig ausgeführt Java Basics - Anfänger-Themen 3
Tommy135 Event erstellen Java Basics - Anfänger-Themen 7
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
topi WindowAdapter / Listener / Event Java Basics - Anfänger-Themen 4
L Event schmeißen Java Basics - Anfänger-Themen 1
F In Eclipse Haltepunkt bei Event setzen? Java Basics - Anfänger-Themen 1
T Übungsaufgabe Event Handling Java Basics - Anfänger-Themen 0
M Action Event auf Textfield legen Java Basics - Anfänger-Themen 18
V Button/Event wird nicht ausgeführt, was tun? Java Basics - Anfänger-Themen 2
J Keyboard Event auch ohne Fokus mitbekommen Java Basics - Anfänger-Themen 2
D Java Eclipse cannot be cast to java.awt.event.ItemListener Java Basics - Anfänger-Themen 3
IngoF Welches Event kommt wann? Java Basics - Anfänger-Themen 8
A Key Event - Abfrage von 2 gedrückten Tasten Java Basics - Anfänger-Themen 6
E Event gesucht Java Basics - Anfänger-Themen 1
G Button Event Java Basics - Anfänger-Themen 6
Thallius Hidden Feature über Key Event starten Java Basics - Anfänger-Themen 4
A Labels Inner JButton Event Erstellbar? Java Basics - Anfänger-Themen 3
F Erste Schritte Aktuelles Fenster durch Event schließen Java Basics - Anfänger-Themen 3
D Button action Event einblenden/ausblenden Java Basics - Anfänger-Themen 6
U Threadsafe Event-Handling Java Basics - Anfänger-Themen 2
C Klassen NullPointerException beim Event Handling in GUI Java Basics - Anfänger-Themen 8
P ActionListener Action Event Java Basics - Anfänger-Themen 5
J Erste Schritte import awt.* ;awt.event.*; Java Basics - Anfänger-Themen 3
T event und while-schleife Java Basics - Anfänger-Themen 26
L Null Pointer Exception bei Focus Event bei einem JTextField Java Basics - Anfänger-Themen 2
M Während event einen anderen event ausführen?? Java Basics - Anfänger-Themen 3
S Event aus anderer Klasse als Auslöser Java Basics - Anfänger-Themen 5
M Event erstellen Java Basics - Anfänger-Themen 6
D Eigenes Event beim TimeOut Java Basics - Anfänger-Themen 2
D Auf Event warten Java Basics - Anfänger-Themen 4
I AWS Event Notification Service Sample ausführen... Java Basics - Anfänger-Themen 7
M JList Event Java Basics - Anfänger-Themen 5
Houly while Schleife im ActionPerformed Event Java Basics - Anfänger-Themen 8
R eigenen Event schreiben Java Basics - Anfänger-Themen 16
S Kein Event bei Click auf JComboBox Java Basics - Anfänger-Themen 4
N paint methode statt Event-Handling-Methode Java Basics - Anfänger-Themen 3
Q Eigenes Event feuern Java Basics - Anfänger-Themen 5
H2SO3- dreieck, bild --> maus klick event. Wie gehts? Java Basics - Anfänger-Themen 10
B Applet: Event-Handling-Methode in start- bzw. paint-Methode Java Basics - Anfänger-Themen 7
D Window resize Event ? Java Basics - Anfänger-Themen 5
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
D Event mit n-Button8s) von einem Panel Java Basics - Anfänger-Themen 9
GilbertGrape Eigenes Event? Java Basics - Anfänger-Themen 2
A Synchronisierung oder gibt es das onChange event? Java Basics - Anfänger-Themen 4
J Automatisch Button drücken/Event ausführen? Java Basics - Anfänger-Themen 6
G Button Action Event starten Java Basics - Anfänger-Themen 4
G Methode nicht im Event-Dispatcher-Thread starten? Java Basics - Anfänger-Themen 2
F Doppelklick-Event auf JTree Java Basics - Anfänger-Themen 5
A Wo/Wie Event Listener Java Basics - Anfänger-Themen 3
N Event auf JTabbedPane abfragen ? Java Basics - Anfänger-Themen 8
G Event Handler Java Basics - Anfänger-Themen 7
T button event Java Basics - Anfänger-Themen 3
P Raw-Key-Event Java Basics - Anfänger-Themen 4
Q ActionListener event bei JPanels Java Basics - Anfänger-Themen 5
J Event-Handling geht nicht Java Basics - Anfänger-Themen 6
G Button event problem Java Basics - Anfänger-Themen 24
B Eigenes Event schreiben Java Basics - Anfänger-Themen 7
D MouseLister und Identifikation des Event - Buttons Java Basics - Anfänger-Themen 4
G start-oder paint-Methode anstatt Event-Handling-Methode? Java Basics - Anfänger-Themen 3
T java.awt.event.WindowAdapter Java Basics - Anfänger-Themen 2
B Event-Actionlistener(Def) Java Basics - Anfänger-Themen 6
G GUI Event Handling Java Basics - Anfänger-Themen 5
M Event auslösen (unsinnig gestellt - ignorieren) Java Basics - Anfänger-Themen 4
M [SOLVED]Swing Event Management Java Basics - Anfänger-Themen 7
N Runtime.exec und Key event Java Basics - Anfänger-Themen 2
C Klasse muss auf Event in einer anderen Klasse reagieren Java Basics - Anfänger-Themen 7
G JTable - Event - MVC Java Basics - Anfänger-Themen 10
J Event-Hilfe Java Basics - Anfänger-Themen 4
T Event zu bestimmter Uhrzeit auslösen ? Java Basics - Anfänger-Themen 5
S MausKlickZähler - Event Problem Java Basics - Anfänger-Themen 2
M Kommunikation zwischen GUI und Event -Klasse Java Basics - Anfänger-Themen 3
C mouseDown (Event e, int x, int y) rechts oder linksklick ? Java Basics - Anfänger-Themen 10
D if (event.target instanceof TextField) Java Basics - Anfänger-Themen 2
H String verschlüsseln - eigener Algorithmus Java Basics - Anfänger-Themen 104
D importieren eigener Klassen Java Basics - Anfänger-Themen 12
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
N ArrayList in eigener Klasse erzeugen mit Zugriff Java Basics - Anfänger-Themen 7
B Eigener Validierungseditor? Java Basics - Anfänger-Themen 3
W Eigener Iterator soll mehrdimensionales Array durchlaufen Java Basics - Anfänger-Themen 4
Bluedaishi Jar mit eigener JRE Java Basics - Anfänger-Themen 7
I equals (Override) mit eigener Exception (keine Runtime-Exception) Java Basics - Anfänger-Themen 9
J Threads Problem mit eigener ArrayList Java Basics - Anfänger-Themen 2
E MCLauncher eigener Client workt nicht? Java Basics - Anfänger-Themen 4
A Input/Output Datenströme schließen in eigener Methode Java Basics - Anfänger-Themen 5
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
F Get/Post als eigener Thread mit Rückgabe Java Basics - Anfänger-Themen 5
M Messandwendung nach Zeit und eigener Eingabe Java Basics - Anfänger-Themen 4
N Schlüsselworte Bubble Sort nach eigener Ordnung Java Basics - Anfänger-Themen 8
E Compare-Funktion bei eigener Klasse Java Basics - Anfänger-Themen 4
Q ArrayList mit eigener Klasse in Java sotieren Java Basics - Anfänger-Themen 2
N BierSpiel von "Kopf bis Fuss" eigener Code...kleine Problemstellung. Java Basics - Anfänger-Themen 11
C OOP Erstellen eigener Objekte die es schon gibt "schlau"? Java Basics - Anfänger-Themen 3
V Arrays aus eigener Klasse erstellt, zuweisung aber spuckt Fehler in verbindung mit main Methode aus. Java Basics - Anfänger-Themen 3
L Eigener FilterReader Java Basics - Anfänger-Themen 12
E Mein eigener Listener (Hilfe gesucht) Java Basics - Anfänger-Themen 2
M import von eigener Klasse Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben