Listenerklassen in externe Dateien auslagern?

Status
Nicht offen für weitere Antworten.

icarus2

Top Contributor
Bei meinen Projekten hab ich jetzt oft die Listenerklassen in eigenständige .java Dateien ausgelagert. D.h. z.B. die Interface ActionListener wird in der externen .java Datei implementiert.

Macht das Sinn?

Weil ich musste im Konstruktor oft viele Objekte übergeben, dass die verändert werden konnten (z.B. die JButtons als Parameter übergeben und da mit this. zuweisen). Auch gab es Probleme wenn dich diese Listener .java Dateien ein ein Package einfügte.

Im Moment bin ich der Meinung, dass es am sinnvolsten wäre diese Listener Interfaces in einer inneren Klasse zu implementieren und dann die events durch Methodenaufrufe mit return-Rückgaben in externen Klassen zu bearbeiten.


Ich würde jedoch gerne mal eine Meinung hören von erfahreren Programmieren, die auch schon bisschen an grösseren Projekten beiteiligt waren.
 

icarus2

Top Contributor
Und wie sorgst du dafür, dass die ListenerKlassen auch in der Projekt eingreiffen können, sprich Objekte verändern und so... übergibst du die Objekte als Parameter und instanzierst sie mit this.

Ich habe das in meinem n-DamenProblem auf einem n*n Schachbrett so gelöst:

Die Hauptklasse:

Code:
....

 bl = new ButtonListener(statusButton, vergroessernButton,
                            verkleinernButton, sb);

    //Die Buttons werden beim ActionListener (ButtonListener bl) geaddet.
    statusButton.addActionListener(bl);
    vergroessernButton.addActionListener(bl);
    verkleinernButton.addActionListener(bl);

....

Dann hier die externe Klasse:

Code:
....

public class ButtonListener implements ActionListener {

    private double sizeExtension = 1;                       //Standard-Gröesse
    private boolean start = false;
    JButton statusButton, vergroessernButton, verkleinernButton;
    Schachbrett sb;
    JLabel berechnungsZeit;
    BerechnungsZeit bz = new BerechnungsZeit();
    
    //Konstruktor
    //Kommentar siehe NDamenProblem Zeile 96
    public ButtonListener(JButton statusButton,
                          JButton vergroessernButton, JButton verkleinernButton,
                          Schachbrett sb) {
      this.statusButton = statusButton;
      this.vergroessernButton = vergroessernButton;
      this.verkleinernButton = verkleinernButton;
      this.sb = sb;

    }

....

Ist das hier eine gute Lösung? Ich habe nämlich grad 5 solche ListenerKlassen, die auf verschiedene Komponenten reagieren
 

icarus2

Top Contributor
Da ich die Sichtbarkeit der Buttons gerne verändern möchte mit setVisible(false).

Mein Problem war oftmals, dass ich nicht wusste wie ich aus der Externen ListenerKlasse in der Klasse, in der die Objekte/ Variabeln ursprünglich definiert habe verändern kann.
 

triple

Mitglied
Mein Problem war oftmals, dass ich nicht wusste wie ich aus der Externen ListenerKlasse in der Klasse, in der die Objekte/ Variabeln ursprünglich definiert habe verändern kann.

gib doch beim Methodenaufruf die Klasse selber mit

[highlight=XML]b1 = new ButtonListener(this);[/highlight]

wenn du dann getter und setter einfügts, kannst du auf die Buttons zugreifen.

[highlight=Java]public ButtonListener(GUI gui) {
JButton button1 = gui.getButton1();
}[/highlight]
 

mvitz

Top Contributor
Oder über eine "logische Methode" im Schachbrett
[HIGHLIGHT="Java"]public class Schachbrett {
...
bl = new ButtonListener(this);
...
public void disableButtons() {
statusButton.disable(true);
vergroessernButton.disable(true);
verkleinernButton.disable(true);
}
...
}[/HIGHLIGHT]

Im Button Listener selber brauchst du dann nur noch
[HIGHLIGHT="Java"]public class ButtonListener implements ActionListener {
private Schachbrett sb;
public ButtonListener(Schachbrett sb) {
this.sb = sb;
}
@Override
public void actionPerformed(ActionEvent e) {
sb.disableButtons();
}
}[/HIGHLIGHT]

Ist jenachdem auch eine Möglichkeit, dass ganze so zu machen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Kamera anschließen / Bild machen / Live View / Externe Blitz Java Basics - Anfänger-Themen 19
C externe jar einbinden in Eclipse-Projekt Java Basics - Anfänger-Themen 2
C Java Funktion: externe Daten vom Internet einbinden Java Basics - Anfänger-Themen 2
S Maven und externe Library Java Basics - Anfänger-Themen 2
tom.j85 Externe Rest API konsumieren Java Basics - Anfänger-Themen 9
L Worauf muss ich achten, wenn ich externe Bibliotheken für meine Anwendungen verwende? Java Basics - Anfänger-Themen 6
W Externe class in Eclipse importieren Java Basics - Anfänger-Themen 0
G Servlet - externe HTML (URL) auslesen Java Basics - Anfänger-Themen 1
Hijo2006 Neue externe Klasse einbinden Java Basics - Anfänger-Themen 13
S Klassen Externe Klasse in ein Projekt mit einbinden Java Basics - Anfänger-Themen 7
T Externe Methoden aufrufen Java Basics - Anfänger-Themen 3
M Externe .jar in Sublime einbinden Java Basics - Anfänger-Themen 5
E Externe Library .zip Datei importieren Java Basics - Anfänger-Themen 3
D Externe Comperator-Klasse Java Basics - Anfänger-Themen 3
D Externe Eeite beim Mousover anzeigen Java Basics - Anfänger-Themen 0
U Externe Library im non runnable jar File im eclipse Java Basics - Anfänger-Themen 1
S externe Datei erstellen, oeffnen, bearbeiten Java Basics - Anfänger-Themen 2
S komponente über externe klasse zufügen Java Basics - Anfänger-Themen 13
D Externe Libs in Jar Java Basics - Anfänger-Themen 2
S externe Webseiten füllen Java Basics - Anfänger-Themen 5
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M externe JARs in die eigene JAR einbinden Java Basics - Anfänger-Themen 9
T Sichtbarkeiten und externe Klasse Java Basics - Anfänger-Themen 33
N Jar-File soll externe class-Datei benutzen Java Basics - Anfänger-Themen 8
S Externe Bibliothek zu Resources hinzufügen? Java Basics - Anfänger-Themen 5
B Externe Libraries fuer Applet ... Pfad eingeben? Java Basics - Anfänger-Themen 23
V Input/Output Plattform unabhängig auf externe Dateien zugreifen Java Basics - Anfänger-Themen 4
P Threads Thread und Zugriff auf externe Methode beenden Java Basics - Anfänger-Themen 4
N Klassen externe .class einbinden Java Basics - Anfänger-Themen 9
F Input/Output Wie externe Datei NICHT mit dem Standardprogramm öffnen? Java Basics - Anfänger-Themen 3
J Zugriff von main-Klasse auf externe Klassen Java Basics - Anfänger-Themen 51
T externe Datei fest an Projekt binden Java Basics - Anfänger-Themen 2
K Klassen externe JAR in Programm einbinden Java Basics - Anfänger-Themen 5
E externe .txt Datei mit Scanner einlesen Java Basics - Anfänger-Themen 7
X Extrahieren in Externe Klasse Funktioniert nicht Java Basics - Anfänger-Themen 6
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
L Externe Dateien, wohin? Java Basics - Anfänger-Themen 7
C OOP Externe Klasse erweitern (ohne Vererbung!!) Java Basics - Anfänger-Themen 8
T externe Programme pipen Java Basics - Anfänger-Themen 2
G Eigene Klasse für externe Befehle - Warten auf Prozesse Java Basics - Anfänger-Themen 6
P Externe IP ermitteln? Java Basics - Anfänger-Themen 5
-horn- Externe Lib: JavaSCI richtig einbinden? Java Basics - Anfänger-Themen 5
I externe JAVA-Schnittstelle einbinden Java Basics - Anfänger-Themen 2
A Externe Klassen Laden und ausführen Java Basics - Anfänger-Themen 12
P externe JARs integrieren Java Basics - Anfänger-Themen 9
Y Applet lokal executable machen, externe Files inkludieren Java Basics - Anfänger-Themen 8
C externe Klassen in Projekt einbinden Java Basics - Anfänger-Themen 10
G Intern auf externe IP zugreifen? Java Basics - Anfänger-Themen 7
S externe Klassen Java Basics - Anfänger-Themen 3
M Parameterübergabe an externe JAR-Datei? Java Basics - Anfänger-Themen 2
Schandro Externe Bibliothek OHNE IDE benutzen Java Basics - Anfänger-Themen 5
B Externe .exe-Dateien starten +Runtime Java Basics - Anfänger-Themen 6
W Kann in meiner Jar nicht auf externe Jar zugreifen Java Basics - Anfänger-Themen 4
G zugriff auf festplatte / externe festplatten Java Basics - Anfänger-Themen 12
T Externe Datei aufrufen Java Basics - Anfänger-Themen 6
T Externe JAR datei in eigene? Java Basics - Anfänger-Themen 2
S externe Datei unformatiert einlesen & in double konverti Java Basics - Anfänger-Themen 2
B Paint(Component) und externe Objekte Java Basics - Anfänger-Themen 6
S per Kommandozeile compilieren: Problem: externe Jars einbind Java Basics - Anfänger-Themen 16
D Externe .jar in Eclipse nutzen Java Basics - Anfänger-Themen 3
F Externe Batch Datei aufrufen Java Basics - Anfänger-Themen 5
G Auf externe Resourceb zugreifen Java Basics - Anfänger-Themen 6
S externe URL öffnen und in Variable speichern. Java Basics - Anfänger-Themen 9
L Externe *.jar verwenden (ohne IDE) Java Basics - Anfänger-Themen 9
G JAR: Externe Dateien zur Laufzeit aufrufen Java Basics - Anfänger-Themen 12
I Wie eine externe Funktion rufen? Java Basics - Anfänger-Themen 11
G Externe Klassen mit ausliefern Java Basics - Anfänger-Themen 4
J Anfängerfrage: wie externe Dateien importieren? Java Basics - Anfänger-Themen 5
F Externe Datei aufrufen Java Basics - Anfänger-Themen 3
B Pfad für eine externe Klasse Java Basics - Anfänger-Themen 4
V Auf externe MySQL DB connecten? Java Basics - Anfänger-Themen 6
M Externe Klasse einbinden Java Basics - Anfänger-Themen 5
D Projekt als jar exportieren: Wie externe jars einbauen? Java Basics - Anfänger-Themen 5
A externe Library wird nicht gefunden Java Basics - Anfänger-Themen 4
K externe jar einbinden Java Basics - Anfänger-Themen 2
T Externe Api einbinden Java Basics - Anfänger-Themen 4
F externe programme ueber eine string starten Java Basics - Anfänger-Themen 2
J String in externe Datei speichern Java Basics - Anfänger-Themen 2
N wie externe bibliotheken einbinden? Java Basics - Anfänger-Themen 2
S externe lib´s in welchen ordner packen? Java Basics - Anfänger-Themen 6
H Zugriff auf externe Variable Java Basics - Anfänger-Themen 10
G Externe Klassen einbinden Java Basics - Anfänger-Themen 4
S Befehle an externe Programme Java Basics - Anfänger-Themen 4
P Externe Klassen Problem - Eclipse Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
I Dateien aus dem Resource Folder laden Java Basics - Anfänger-Themen 2
A Thread XML-Dateien zusammenfügen Java Basics - Anfänger-Themen 11
Buroto Threads Verschiedene .txt Dateien Auf Listen und Verbinden Java Basics - Anfänger-Themen 3
J Dateien lesen und schreiben Java Basics - Anfänger-Themen 5
B Jar Dateien ohne IDE verwenden? Java Basics - Anfänger-Themen 1
A Optimierung eines Programms: Mergen der Dateien Java Basics - Anfänger-Themen 23
A Zwei XML-Dateien Mergen Java Basics - Anfänger-Themen 14
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
LetsSebi Dateien werden nicht in Zip gespeichert Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
J Alle Dateien aus einem Verzeichnis laden Java Basics - Anfänger-Themen 10
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
M Scannen von *.txt - Dateien; wo sind der oder die Fehler? Java Basics - Anfänger-Themen 4
A Input/Output Dateien einlesen und ausgeben Java Basics - Anfänger-Themen 7
S Lese- / Schreibfähigkeit von Dateien sicherstellen Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben