Aufruf einer Methode in IStatus exex

G

gsFans

Gast
Hallo,

ich habe ein Programm (kann leider kein Beipsielprogramm bzw. Code reinstellen, weil es ein Teil eines großen Projektes ist).
Ich werde aber den Grundgerüst so gut wie möglich versuch zu erklären.

Meine Vorgehensweise:
1. Rechtsklick in meinem Programm (Eclipse-Plugin als PopUp-Menu) um aus dem Menü etwas auzuwählen
2. Diesbezüglich wird in der Methode run(IAction action) eine Methode runModell() aufgefrufen
3. In der Methode runModell() wird ein Objekt erzeugt und an eine Klasse X im Projekt weitergeleitet (damit die Änderungen im Projekt konsistent sind)
4. Durch die Weiterleitung an die Klasse X wird die Methode IStatus exec(...) aufgerufen.
5. In dieser Methode möchte ich zwei Methoden aufrufen. Diese Methoden sind meine eigene Methoden, die ich erstellt habe.
Die erste Methode wird ausgeführt. Die zweite Methode wird vorher an einer anderen Stelle ausgeführt. Ich möchte dies jedoch auch an dieser Stelle ausführen.

Code-Beispiel
Java:
// erste Klasse bzgl. des Plugin, das angestossen wird
// mit Rechtsklick auf mein Plugin wird die run-Methode gestartet
public class KlassAction extends ActionDelegate implements IViewActionDelegate 
{
       @Override
       public void run(IAction action)
       {
              runModell();
       }

       public void runModell()
       {
              MeineOperationen meineOperationen = new MeineOperationen();
              KlasseX.runOperation(meineOperationen, null); // die Methode dieser Klasse dient dazu, dass die Einstellungen die durch meine implementieren Operationen im Projekt ordnungemäß verlaufen. 
       }
}


//meine implementieren Operationen 
public class MeineOperationen
{
       public IStatus exec(xyz, xyz) // parameter spiele keine Rolle. Diese Methode wird automatisch durch die KlasseX.runOperation aufgerufen
       {
              runFirstMethod(); // das funktioniert
              runSecondMethod(); // das ist zu realisieren!!!!!
       }

       public void runFirstMethod()
       {
              --- Variablen, listen, etc...
              Tabelle tabelle = new Tabelle()
              tabelle(liste1, liste2) // von dieser Methode aus wird als letzte Operation eine Tabelle aufgerufen. Die runSecondMethod() wird in der Tabelle durch klick auf ein Button gestartet. 
       }

       public void runSecondMethod()
       {
              ---- //Variablen, listen, etc.
       }
}

public class Tabelle
{
       // JTable, JFrame, JButton, etc...
       // Die runFirstMethod() erzeug in einem Frame eine Tabelle mit einem Ok-Button. Durch klicken des OK-Buttons
       // soll die runSecondMethod() gestartet werden. Das funktioniert auch. Jedoch möchte ich, dass durch klick des OK-Buttons
       // die runSecondMethode() in der Klasse MeineOperationen in der Methode exec() ausgeführt wird. 
       okButton.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent e) {
                     MeineOperationen mOp = new MeineOperationen();
                     mOp.runSecondMethod();

}

Wenn ich Rechtsklick mache und mein Plug-in starte, dann wird in der Zeile 24 die runFirstMethode() ausgefürht. Soweit gut. Anschließend wird auch die runSecondMethode() ausgeführt. Ich möchte jedoch, dass die runSecondMethode() durch klick auf das OK-Button in der Methode zu Zeile 23 gestartet wird. Ich habe echt keine Idee wie ich das machen soll.

Zu info: Das ganze Programm funktioniert, wenn die runSecondMethode() nur in der Klasse Tabelle aufgerufen wird.
Damit im Projekt meine Einstellung ordnungsemäß ausgeführt werden, muss diese Methode ebenfalls in Methode zu Zeile 23 ausgeführt werden. Aber erst durch drücken des OK-Buttons.

Vielen Dank für jede Idee
 
G

gsFans

Gast
Eine Frage am Rande.

Ist es möglich von der Methode zu Zeile 23 heraus auf den okButton zurückzugreifen?
Wenn ja, dann könnte ich dort den ActionPerformed hier aufrufen oder nicht? Kenne mich leider mit den ganzen ActionPerformed nicht aus.
 

Wildcard

Top Contributor
Wenn ich Rechtsklick mache und mein Plug-in starte, dann wird in der Zeile 24 die runFirstMethode() ausgefürht. Soweit gut. Anschließend wird auch die runSecondMethode() ausgeführt. Ich möchte jedoch, dass die runSecondMethode() durch klick auf das OK-Button in der Methode zu Zeile 23 gestartet wird. Ich habe echt keine Idee wie ich das machen soll.
Dieser Abschnitt ergibt leider absolut gar keinen Sinn für mich (lies ihn dir bitte selbst mal durch) und Zeile 23 ist '{' :autsch:
 
G

gsFans

Gast
Damit meine Ich:
Wenn ich im Projekt ein Rechtsklick mache und im Menü auf "Erstelle XYZ" klicke, dann wird mein Plug-in gestartet. Der Start meines Plug-ins erfolgt natürlich durch die run-Methode aus Zeile 6. Durch den Start des Plug-ins wird natürlich die, in dieser run-Methode enthaltene runModell-Methode gestartet.
In der runModell-Methode übergebe ich ein neues Objekt der KlasseX, damit diese Konsistenz abgearbeitet werden.

Durch die Übergabe des Objekts meineOperationen an die KlasseX, wird die Methode exec aus Zeile 22 automatisch durch die KlasseX aufgerufen.
Der wichtigste Punkt dieser Methode ist, dass alle ausgeführten Operationen (wie Änderungen, Entfernung, Aktualisierung, Verschiebung, etc. im Projekt) in der exec-Methode ausgeführen werden müssen. Würde ich ein Operation auserhalb der exec-Methode aufrufen, so würden die Operationen durchgeführt, aber das Projekt würde vielleicht einige dieser Operationen nicht mitbekommen.

Das Ziel ist aus der exec-Methode (Zeile 22 :)) die zwei Operationen runFirstMethod und runSecondMethod zu startet.
So wie es momentan in Zeile 24 und 25 steht, werden die zwei Operationen hintereinander ausgeführt.
Ich möchte jedoch, dass als erstes die runFirstMethod aufgerufen wird. Die runFirstMethode übergibt die Operationen an eine Tabelle. Diese Tabelle muss angezeigt werden. Erst durch die Zusage des Benutzer mit klick auf den OK-Button soll die runSecondMethod gestartet werden. Das Erfolgt momentan in der Klasse mit dem ActionListener (Zeile 47-50).

Die große Frage ist: Wie bekomme ich es hin, das ich nach wie vor erst durch kick auf den OK-Button die runSecondMethod in der exec-Methode ausgeführt bekomme bzw. dort hin weiterleiten kann?

Deswegen hatte ich gedacht gehabt, ob es möglich ist, innerhalb der exec-Methode auf den Ok-Button zugreifen zu können und hier den ActionListener mit der Information (beim drücken die runSecondMethod) auszuführen.


Ich hoffe es ist jetzt verständlicher geworden.
 
G

gFans

Gast
Ich habe vorhin mal ein kleines Testprogramm geschrieben. Wenn ich das Ok-Button aus der Klasse Tabelle einfach als "public static" deklariere, dann kann ich es in de exec-Methode aufrufen. Und per Ok-Klick wird dann die runSecondMethod() aufgerufen.

Java:
       public IStatus exec(xyz, xyz) // parameter spiele keine Rolle. Diese Methode wird automatisch durch die KlasseX.runOperation aufgerufen
       {
              runFirstMethod(); // das funktioniert
              
              Tabelle.ok.addActionListener( new ActionListener() {
	          public void actionPerformed(ActionEvent e) {
	        	  runSecondMetod();
	          }
	       } );
       }

Also bei meinem Testprogramm funktioniert es. Bin gespannt ob es morgen auch bei dem großen Projekt ohne Probleme funktionieren wird. Mir ist keine anderer Variante außer die obige eingefallen, wie ich sonst per Ok-Button die runSecondMethod aufrufen kann.
Werde morgen dann das Ergebnis posten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D HTTP Aufruf einer Methode aus einem Servlet heraus Allgemeine Java-Themen 0
J yield() Aufruf in einer synchronized-Methode Allgemeine Java-Themen 13
C Aufruf einer Methode einer anderen Klasse Allgemeine Java-Themen 14
G Aufruf einer Methode wenn Klasse noch nicht existiert Allgemeine Java-Themen 3
S Übergabe / Aufruf einer beliebigen Methode in einer anderen Allgemeine Java-Themen 9
T JNA, Aufruf der Funktionen einer dll Allgemeine Java-Themen 5
Z Socket Aufruf einer Klasse in einer anderen Klasse Allgemeine Java-Themen 6
D Problem bei Aufruf einer Funktion Allgemeine Java-Themen 3
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
I Hibernate Envers - Aufruf der Methode zum Speichern selbst ausführen oder managen? Allgemeine Java-Themen 0
berserkerdq2 Wie mache ich den rekursiven Aufruf in IJVM Allgemeine Java-Themen 3
J Reflection Aufruf: .class durch .dll ersetzen Allgemeine Java-Themen 4
R JDK installieren OpenJDK-Aufruf sehr langsam Allgemeine Java-Themen 4
B Aufruf der Methode ergibt eine Exception Allgemeine Java-Themen 13
H Aufruf eines Web Service anhand übergebenen Parameter Allgemeine Java-Themen 2
P CMD Aufruf mit Admin-Rechte Allgemeine Java-Themen 2
cool_brivk24 Klassen Klassen Aufruf Fehlgeschlagen Allgemeine Java-Themen 14
F Methoden Arraylist weiterverwenden nach methoden Aufruf Allgemeine Java-Themen 2
J Genson - zirkulärer Aufruf Allgemeine Java-Themen 1
C file.delete() funktioniert bei zweiten aufruf nicht mehr Allgemeine Java-Themen 3
B Kodierung von String -> URL aufruf Allgemeine Java-Themen 2
G Rekursiver Aufruf von Waagengewichten Allgemeine Java-Themen 2
H Klassennamen zum Aufruf eines statischen Feldes aus Variable holen Allgemeine Java-Themen 4
M datei aufruf prüfen Allgemeine Java-Themen 9
D JNI DLL Aufruf Allgemeine Java-Themen 32
M datei aufruf datum auslesen Allgemeine Java-Themen 5
A Java Verhalten bei parallelem Aufruf derselben Methode?? Allgemeine Java-Themen 2
F Parameter im Link /jar-Aufruf Allgemeine Java-Themen 12
A JNI: Unerklärlicher Crash beim Aufruf von CallVoidMethod Allgemeine Java-Themen 9
S Variablen bei Aufruf zurücksetzen Allgemeine Java-Themen 4
R JAR aus Batchdatei Aufruf Allgemeine Java-Themen 4
Kr0e Sichtbarkeitsregeln nach Executor-Aufruf Allgemeine Java-Themen 5
F rekursiver Aufruf (Sudoku und Guice) Allgemeine Java-Themen 19
B Cipher.getInstance Aufruf sehr langsam Allgemeine Java-Themen 2
M Aufruf von Unix-Shell in Java Allgemeine Java-Themen 5
E Seltsamer aufruf von java.util.Date.toString() Allgemeine Java-Themen 3
C Netbeans - Aufruf-Reihenfolge Allgemeine Java-Themen 5
Nicer Problem mit Link aufruf Allgemeine Java-Themen 6
M Cobol-Aufruf aus Java Allgemeine Java-Themen 6
T Lib/Framework zum Automatischen Aufruf von Methoden Allgemeine Java-Themen 2
R Ableiten - Methoden aufruf bei abgeleiteten Klassen Allgemeine Java-Themen 4
G DAOFactorry aufruf Allgemeine Java-Themen 10
V Aufruf von Klasse mit Runnable versteh ich nicht Allgemeine Java-Themen 8
R toString() methode überschreiben mit rekursivem aufruf. Allgemeine Java-Themen 8
N Main-Klasse wird beim Aufruf des JARs nicht gefunden Allgemeine Java-Themen 8
B Null Pointer Exception bei Canvas-objekt-Aufruf Allgemeine Java-Themen 12
S Aufruf in Konsole mit beliebig vielen Argumenten? Allgemeine Java-Themen 18
reibi Aufruf eines private Konstruktors Allgemeine Java-Themen 7
M Rekrusiver Aufruf ? Allgemeine Java-Themen 6
D aufruf beim kopieren Allgemeine Java-Themen 11
J einfachster Servlet-Aufruf klappt nicht Allgemeine Java-Themen 3
J Konstruktor-Aufruf nur aus einem bestimmten Package erlauben Allgemeine Java-Themen 5
S problem mit externen aufruf Allgemeine Java-Themen 4
M [Windows] Aufruf von Java mit Sonderzeichen im Classpath Allgemeine Java-Themen 5
D VM crash nach Aufruf von GetFieldID und GetMethodID in JNI Allgemeine Java-Themen 31
G PDF AUfruf Allgemeine Java-Themen 6
S Aufruf meines Programms Allgemeine Java-Themen 2
U zweifacher Aufruf animiertes gif Allgemeine Java-Themen 7
G Konstruktor-Aufruf nun mit oder ohne Typ? Allgemeine Java-Themen 9
T CMD nach aufruf von javaw Programmname wieder schließen Allgemeine Java-Themen 3
Z Problem beim Aufruf eines Listener? Allgemeine Java-Themen 4
A Problem beim Aufruf von javac Allgemeine Java-Themen 7
W Aufruf von JavaBeans Allgemeine Java-Themen 3
O Text aus einer Textdatei rausholen, der zwischen zwei Schlüsselworten steht Allgemeine Java-Themen 4
V Umgang mit fehlenden Daten in einer Java-Datenanalyseanwendung Allgemeine Java-Themen 5
M Methodenübersicht einer Klasse einsehen Allgemeine Java-Themen 14
I Vom Monolith zu Services in einer Webseite Allgemeine Java-Themen 1
W Variable Initialisierung mit dem Ergebnis einer Regex Allgemeine Java-Themen 1
O Werte einer Generic LinkedList zusammenrechenen Allgemeine Java-Themen 14
C Sortieren und Selektieren einer ArrayList<Point3D> Allgemeine Java-Themen 6
A Einzelne Objekte und Unterobjekte einer ArrayList ausgeben Allgemeine Java-Themen 53
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Ein Objekt einer Klasse mehreren anderen Klassen zur Verfügung stellen? Allgemeine Java-Themen 6
M Optimierung einer Methode (byte-Geraffel) Allgemeine Java-Themen 2
I Wie kann ich den Wert aus einer If abfrage ausgeben Allgemeine Java-Themen 23
S HTML einer Webseite 1:1 so bekommen wie es auch der Browser anzeigt? Allgemeine Java-Themen 14
melaniemueller Einzelne Zeile aus einer txt Datei in einem String speichern Allgemeine Java-Themen 12
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
J (Geplante) Änderungen an einer Datei vorübergehend speichern und anwenden? Allgemeine Java-Themen 12
ME2002 Fragen aus einer Java Klausur Allgemeine Java-Themen 67
_user_q Obfuscate einer .jar-Datei mit ProGuard? Allgemeine Java-Themen 2
_user_q Verknüpfung einer .jar-Datei (liegt z. B. auf dem Desktop) im Autostart-Ordner erstellen? Allgemeine Java-Themen 20
C Parsen einer sich updatenden Html mithilfe von jsoup Allgemeine Java-Themen 4
E Eine Methode einer extendeten Klasse deakitivieren Allgemeine Java-Themen 12
H Performance einer Monte-Carlo-Simulation verbessern Allgemeine Java-Themen 6
LimDul Kam eine java.net.URL zu einer HashMap und ging als DNS Anfrage wieder heraus Allgemeine Java-Themen 18
E Variablen Nach Übergabe einer Variable den Constructor aufrufen Allgemeine Java-Themen 16
Zeppi NullPointerException in einer if-Abfrage Allgemeine Java-Themen 6
D Abbruch einer ViewScoped Bean in Arbeit Allgemeine Java-Themen 2
Lukas2904 Schleife mit ansteuerung einer Klasse Allgemeine Java-Themen 5
d.lumpi Aus Einer Klasse auf ein Objekt einer anderen Klasse Zugreifen Allgemeine Java-Themen 1
Lukas2904 Wie kann man cps (ClicksPerSecond) in einer GUI anzeigen lassen? Allgemeine Java-Themen 4
O Produziert das Tool "jpackage" (ab JDK 14) .exe Dateien, die auf einer Zielumgebung ohne JRE lauffähig sind ?` Allgemeine Java-Themen 7
R Lambda Expression in einer Methode execute() aufrufen (execute() ist eine Methode aus dem funktionalen Interface Command) Allgemeine Java-Themen 5
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
O Formatierte String ausgabe bei vier Variablen in einer Zeile Allgemeine Java-Themen 1
N Speicherort einer Datei im Explorer ändern Allgemeine Java-Themen 8
O Datentypen Wie kann ich den Typ einer ArrayList abfragen ? Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben