Event erstellen

Tommy135

Aktives Mitglied
Guten Abend,

Ich hbae folgendes Problehm. Ich möchte ein Event schreiben. Klingt gut und wurde bestimmt schon tausend mal angesprochen oder so? Aber das was ich gefunden habe ist nicht das was ich suche. Ich versuche es mal zu erklären:

Ein JButton kann mit addActionListener einem ActionLIstener zugeführt werden.
Der JButton kann dann auf das Ereignies reagieren wenn man mi der Maus druacf clickt oder die doClick Action ausführt.

So was in der Art versuche ich in einer Klasse einzu binden die Kein JFrame ist. Die Klasse Simuliert einen Dienst mit start und stop methode und so weiter. Nun sol ldie Klasse beim Starten das onStart ereignies ausführen.
Nur wie bekomme ich das hin? Das ist was ich bis her nicht verstehe. Die bisherigen Tutorials haben mir gezeigt wie ich zum Beispiel einen JButton einen ActionListner übergebe und dann ein Ereignies ausführe. Ich hoffe ich war verständlich? Bin mir da nie so sicher. Es wäre sehr nett wenn mir jemand dabei helfen könnte muss.

Vielen Dank schon mal im vorraus

Mit freundlichen Grüßen

Tommy135
 

httpdigest

Top Contributor
Ich hoffe ich war verständlich?
Nein, leider nicht. :) Versuche vielleicht einfach mal, ein bisschen Code zu zeigen und dann zu beschreiben, wann welche Methode durch welches Ereignis aufgerufen werden soll und was die Methode dann tun soll. Code ist meist besser als sehr lange, umschweifende und um-den-heißen-Brei-herum Prosabeschreibungen.
 

Tommy135

Aktives Mitglied
Ein bischen Code ist schwirich da es eine ganze Klasse ist. Ich poste die mal hier:
Java:
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package de.tc.cat.the.system;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.event.EventListenerList;

/**
* Creates a virtual service.
*@version 1.0
* @since  1.8
* @author Christian Trostmann
*/
public class Service {
    //Repräsentiert den Namen des Dienstes
    private final String name;
    //Gibt an ob der Dienst gestartet ist (Start) oder gestopt (Stop)
    //Ist wird von einem Enum abgeleitet.
    //Soll darauf regarien
    private String status;
    private String option;
    private final EventListenerList ell = new EventListenerList();
   
    /**
     * Creates the service.
     * @param sname Specifies the name of the service.
     * @param sstatus Indicates the status of the service, whether it is enabled or disabled.
     * @param soption Specifies the option of the service whether it is running or stopped.
     */
    public Service(String sname, Status sstatus, Option soption)
    {
        name = sname;
        status = sstatus.name();
        option = soption.name();
    }
   
    /**
     * Issues the option that the service has.
     * @return Return the option of service as a string.
     */
    public String getOption()
    {
        return option;
    }
   
    /**
     * Get the status.
     * @return Returns the status as a string.
     */
    public String getStatus()
    {
        return status;
    }
   
    /**
     * Get the name.
     * @return Returns the name as a string.
     */
    public String getName()
    {
        return name;
    }
   
    /**
     * Get out if the service is enabled.
     * @return Returns the status as a Boolean.
     */
    public boolean isAktiv()
    {
        return "Aktiviert".equals(status);
    }
   
    /**
     * Get out if the service is running.
     * @return Returns the status of the service as a Boolean.
     */
    public boolean isRunning()
    {
        return "Run".equals(option);
    }
   
    /**
     * Changes the status of the service to Enabled or disabled.
     * @param sstatus Specifies the states to which the service can take turns on or off.
     */
    public void setStatus(Status sstatus)
    {
        status = sstatus.name();
    }
   
    /**
     * Changes the option for the service to stop or run.
     * @param soption Specifies the states to which the service can take run or stop.
     */
    public void setOption(Option soption)
    {
        option = soption.name();
    }
    //Hier wird die klasse dem Listener übergeben
    public void addActionListener(ActionListener l)
    {
        ell.add(ActionListener.class, l);
    }
    //Hier wird die klasse dem Listener entfernt
    public void removeActionListener(ActionListener l) {
        ell.remove(ActionListener.class, l);
    }
   
    //Hier das beispiel was ich möchte:
    public void onStart(parameter)
    {
        //Code für das Event das durch den Benutzer angeben wird
    }
   
   
}

Ziel ist es das wenn der benutzer durch die setStatus Methode das Ereignies auslöst, dies soll dann wie beim JButton das onClick event ausgelöst werden.
 
Zuletzt bearbeitet:

Tommy135

Aktives Mitglied
Ich glaube ich habe grade die lösung in einem Post gefunden. Ich sollte echt lernen besser zu suchen. Ich hoffe das Funktioniert so wie es mir vorstelle. Danke für die Hilfe.
 

mrBrown

Super-Moderator
Mitarbeiter
Ich vermute, du meinst etwa sowas:

Java:
interface OnStartListener {
    void onStart(/*parameter*/)
}

class Service {
    List<OnStartListener> onStartListeners = new ArrayList<>();
    public void addOnStartListener(OnStartListener listener) {
        onStartListeners.add(listener);
    }
    
    public void setStatus(Status sstatus)
    {
        status = sstatus.name();
        onStartListeners.forEach(listener -> listener.onStart);
    }

}

(Code muss natürlich noch ergänzt und verbessert werden, aber das Konzept sollte klar werden)
 

Tommy135

Aktives Mitglied
Ja so was meine ich und das der End benutzer dann auf das Event regaiert, halt wie bei einem JButton das onClick ereignies. Das ganze kann ich dan mit dem selben Interface nur etwas abgeändert auch für andere Ereigniese nutzen oder muss ich da immer ein Neues Interface setzen?
 

mrBrown

Super-Moderator
Mitarbeiter
Ja, man kann sich dann am Service registrieren:

Java:
service.addOnStartListener(new OnStartListener() {
    public void onStart() {
         System.out.println("Service started");
    }
});
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Event erstellen Java Basics - Anfänger-Themen 6
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
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
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
R Event in eigener Klasse implementieren ? Java Basics - Anfänger-Themen 8
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
A exe Datei erstellen Java Basics - Anfänger-Themen 8
J Packages erstellen Java Basics - Anfänger-Themen 7
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
D MacOS: PDF erstellen geht nicht Java Basics - Anfänger-Themen 1
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
P Welches SDK für das erstellen einer ausführbaren Datei? Java Basics - Anfänger-Themen 4
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
C Gewinnspiel erstellen mit Algorithmus Java Basics - Anfänger-Themen 3
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
B Klasse statisch erstellen da n-mal geladen Java Basics - Anfänger-Themen 3
laxla123 Dreieck erstellen Java Basics - Anfänger-Themen 1
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
A Passwort erstellen Java Basics - Anfänger-Themen 3
S CVS erstellen Java Basics - Anfänger-Themen 1
RashAGhul Java Verwaltungstool Erstellen mit kaum Wissen Java Basics - Anfänger-Themen 9
K warum kann ich das Objekt nicht erstellen ? Java Basics - Anfänger-Themen 2
paulen1 Best Practice "Unchecked Assignment" Warnung beim erstellen eines 2D Arrays of Arraylists Java Basics - Anfänger-Themen 2
dennis_lnz Klassen Wie kann ich mein Java Textadventure verbessern, um ein Klassendiagramm zu erstellen? Java Basics - Anfänger-Themen 9
dcHost Java Kara Sensor erstellen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben