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
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
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