View communication eclipse

blurry333

Mitglied
Hallo,

was denkt ihr ist der beste Weg damit ich was in ViewA ausgewählt wird in ViewB anzeigen kann. Wie findet ihr ISelectionProvider ? Was ist eurer Meinung der einfachste Weg ?
 

blurry333

Mitglied
Kann mir mal einer erklären wie das funktionieren soll. Ich dachte von einem Interface kann man keine Instanz anlegen ?

Code:
ISelectionListener listener = new ISelectionListener() {
         public void selectionChanged(IWorkbenchPart part, ISelection sel) {
            if (!(sel instanceof IStructuredSelection))
               return;
            IStructuredSelection ss = (IStructuredSelection) sel;
            Object o = ss.getFirstElement();
            if (o instanceof Book)
               viewer.setInput(ss.size()==1 ? o : null);
         }
      };
 

blurry333

Mitglied
ja ich mein RCP . Den genauen Unterschied kenn ich auch nicht genau. Aber wieso kann man von einem Interface eine Instanz bilde ? Funktioniert der Code weiter oben ?

Java:
ISelectionListener listener = new ISelectionListener() {
 
Zuletzt bearbeitet:

calousy

Mitglied
ja das geht. ob du jetzt (als Beispiel) "MyClass implements InterfaceXY { void zuImplMethode() }" schreibst und die Methoden des Interface dort ausimplementierst oder es so machst wie oben ist egal. Schöner ist es aber mit einer eigenen Klasse.
wenn du aber Eclipse RCP (ab Juno war das glaub ich) verwendest, dann am besten den ESelectionService per Dependency Injection
 
Zuletzt bearbeitet:

blurry333

Mitglied
Java:
ISelectionListener listener = new ISelectionListener() { public void selectionChanged(IWorkbenchPart part, ISelection sel) { if (!(sel instanceof IStructuredSelection)) return; IStructuredSelection ss = (IStructuredSelection) sel; Object o = ss.getFirstElement(); if (o instanceof Book) viewer.setInput(ss.size()==1 ? o : null); } };

Ich komm nicht aus der Java Welt . Was mach ich hier genau ? Leg ich hier eine Klasse an ?
Muss ich für (IWorkbenchPart part, ISelection sel) noch Instanzen anlegen ?
 
Zuletzt bearbeitet:

calousy

Mitglied
Du erstellst da eine Instanz einer sog. anonymen Klasse.

In der Methode selbst musst du keine Instanzen der Klassen mehr anlegen, da die ja über die Parameter reinkommen, wenn die Methode aufgerufen wird.
 

blurry333

Mitglied
Ich hab in View1 eine String Variable. Wenn sich die ändert dann soll View2 benachrichtigt werden. Weiß einer wie das geht? Ein Tutorial find ich dazu im ganzen web nicht. Oder geht das mit dem SelectionService gar nicht ?
 

blurry333

Mitglied
Hmm. Ich kenn das Observer Pattern nur wenn es sich um dieselbe View handelt. Jetzt hab ich aber 2 Views. Und wenn sich in ViewA die Variable ändert soll ViewB informiert werden. Muss ich da jetzt extra eine neue Klasse anlegen die für die Variable eine set/get Methode anbietet oder wie würdet ihr das machen ? Das einfachste wäre doch eine neue statische Klasse anlegen, und dort statische get/set anbieten.
 

blurry333

Mitglied
Man könnte es auch so sehen. ViewA ist das Subject und ViewB der Observer. Aber das es verschiede Views sind brauche ich wohl noch eine neue Klasse die zwischen beiden vermittelt. Wie seht ihr das ?
 

calousy

Mitglied
hast du dir den Beitrag überhaupt mal durchgelesen? das geht auch mit mehreren Views...
But the observer pattern is not limited to single user interface components. For example you could have a part A in your application which displays the current temperature.

Another part B displays a green light if the temperature is above 20 degree celsius. To react to changes in the temperature part B registers itself as a listener to Part A.
 

blurry333

Mitglied
Da steht dass es geht, aber nicht wie. Wenn ich zu ViewPart4.addListener() aufrufe und ViewPart5 als Parameter übergebe, dann funktioniert es nicht. Fehlermeldung: ViewPart4 cannot be resolved to a variable
 

blurry333

Mitglied
Leute mit diesem Codeschnipsel geht es total einfach
Code:
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchPart view =(IWorkbenchPart)workbench.getActiveWorkbenchWindow().getActivePage().findViewReference("UnserProjekt.view4").getView(false);
((ViewPart4)view).update(selectedFile);
 

calousy

Mitglied
a) du hast keine Zeile Code gepostet, die irgendjemandem helfen würde dir zu helfen -> was ist ViewPart5 (z.B.)??
b) du wirst nirgends Code finden, den du 1:1 übernehmen kannst. So flexibel musst du schon sein, dass du das auf deine Bedürfnisse anpasst.
c) du erwähnst nirgends, welche Eclipse-Version du für deine RCP-App verwendest. Da gibt's große Unterschiede
d) na dann. Wenn du Eclipse 4 verwendest, würde ich den IEventBroker (Eclipse 4 event system (EventAdmin) - Tutorial) verwenden
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Model-View-Controller Fail? Allgemeine Java-Themen 31
M Model View Controller Entwurfsmuster! Allgemeine Java-Themen 11
Crashbreaker RCP-View Image öffnen und darstellen Allgemeine Java-Themen 7
B A newer version of Java is needed to view the application. Allgemeine Java-Themen 17
K Immutable View auf StringBuffer? Allgemeine Java-Themen 13
J Model View Controller Architektur Allgemeine Java-Themen 6
T Pattern: Passive View Allgemeine Java-Themen 2
B MVC: controller in unabhängigen thread von der view starten (gui friert ein) Allgemeine Java-Themen 5
G Trennung View und Control Allgemeine Java-Themen 3
M Frage zur View Klasse des MVC Prinzip Allgemeine Java-Themen 3
H Communication API Bluetooth Allgemeine Java-Themen 2
C Communication zwischen zwei Projekte - static objects Allgemeine Java-Themen 4
A Eclipse hängt sich auf Allgemeine Java-Themen 7
lewbue Eclipse Eclipse Dateinamen in Hieroglyphen Allgemeine Java-Themen 4
Encera Gleichzeitiges Ausführen und verbinden von 2 Java-Klassen über die Eingabeaufforderung und Eclipse Allgemeine Java-Themen 21
thor_norsk Eclipse - Fehlermeldung - JavaFX Allgemeine Java-Themen 24
Viper13125 Eclipse Hängt sich auf, wenn ich SimpelDateFormat drin lasse Allgemeine Java-Themen 2
M Eclipse unter Linux Lite Allgemeine Java-Themen 2
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
T Eclipse Synchronisierung mit Github Allgemeine Java-Themen 9
d.lumpi JDA eclipse dateien versenden Allgemeine Java-Themen 4
1Spinne JDK 8 für Eclipse installieren Allgemeine Java-Themen 5
d.lumpi net.* pakete importen (Eclipse) Allgemeine Java-Themen 2
B BOT mit Java [Eclipse] programmieren Allgemeine Java-Themen 7
ReinerCoder Eclipse Fehlermeldung - The constructor Double(double) is deprecated Allgemeine Java-Themen 8
M Probleme bei Eclipse wenn ich entpacke Allgemeine Java-Themen 15
B Eclipse-Lombok-Problem Allgemeine Java-Themen 19
platofan23 Wie .txtDatei im Java Eclipse-Projekt bzw. in der Jar speichern? Allgemeine Java-Themen 7
R @author vor Methode (eclipse) Allgemeine Java-Themen 1
M JAVA API in Eclipse auf deutsch Allgemeine Java-Themen 18
T String-Manipulation beim Ablauf in Eclipse und als JAR-File Allgemeine Java-Themen 8
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
D Eclipse Export Allgemeine Java-Themen 15
Q Eclipse Escape Sequenzen Farbe ändern Allgemeine Java-Themen 4
X Eclipse Kann fann/j nicht in Eclipse linken... Allgemeine Java-Themen 6
A Eclipse Hauptklasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 7
L SQL Datei in Eclipse erstellen Allgemeine Java-Themen 3
T Umlaute in Eclipse einlesen funktioniert nicht Allgemeine Java-Themen 16
L Compiler-Fehler Eclipse Error: A JNI error has occured Allgemeine Java-Themen 3
P Compiler-Fehler Eclipse Allgemeine Java-Themen 5
T Eclipse IDE Plugin Error Log Allgemeine Java-Themen 0
M Java Eclipse- Datei exportieren Allgemeine Java-Themen 5
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
xYurisha Eclipse, Projekt beschädigt! Allgemeine Java-Themen 6
F JFrame fü Eclipse wie? Allgemeine Java-Themen 6
T PDF-Generierung (itext) - läuft unter Eclipse, bei har aber leere Seite Allgemeine Java-Themen 39
M Java Eclipse in der Uni Allgemeine Java-Themen 8
S Eclipse TestNG Default Test umbenennen Allgemeine Java-Themen 0
S TestNG Eclipse: Reporting erstellen/ verändern Allgemeine Java-Themen 0
H Kennt sich jemand mit Eclipse und dem Thema Jar-File aus ? Allgemeine Java-Themen 6
S Eclipse exit code 805306369 Allgemeine Java-Themen 1
T iText mit eclipse richtig in Java-Projekt einbinden Allgemeine Java-Themen 2
V Eclipse .class Dateien Allgemeine Java-Themen 9
G Eclipse Eclipse: Unreachable code Allgemeine Java-Themen 16
R bei eclipse von java in eine andere programmiersprache wechseln? Allgemeine Java-Themen 2
T 32-Bit Applikationen mit Eclipse erstellen Allgemeine Java-Themen 4
N ZIp datei direkt im eclipse speichern Allgemeine Java-Themen 4
N Eclipse Dynamisches-Web-Project auf anderen Rechner transportieren Allgemeine Java-Themen 5
C Eclipse einstellen, dass eine bestimmte JDK benutzt werden soll Allgemeine Java-Themen 3
T Ant Jar Datei per Ant in Eclipse erstellen Allgemeine Java-Themen 2
N Eclipse Projekt von GitHub in bestehendes Projekt einbinden Allgemeine Java-Themen 13
S Eclipse Annotation Processor in Eclipse einbinden Allgemeine Java-Themen 0
T Eclipse Dll einbinden java.lang.UnsatisfiedLinkError nur in Eclipse nicht via javac Allgemeine Java-Themen 1
K eclipse Workspace ändern Allgemeine Java-Themen 2
S FileReader-Problem in Eclipse Allgemeine Java-Themen 8
K ImageJ in eclipse Allgemeine Java-Themen 2
D Java Datei nach Eclipse Export funktioniert nicht Allgemeine Java-Themen 0
HoloYoitsu Kann .dll nur aus Eclipse heraus laden Allgemeine Java-Themen 7
M Modularisierung in Eclipse Equinox Allgemeine Java-Themen 0
P GIT- Bitbucket - Eclipse Allgemeine Java-Themen 3
Shido JDK installieren Eclipse - Fehlermeldung Allgemeine Java-Themen 4
V Eclipse Ich kann bei eclipse nicht schreiben Allgemeine Java-Themen 1
Z JVM komplett tot - Eclipse + Browser gehen nicht + Screenshots Allgemeine Java-Themen 1
S BMI Rechner mit eclipse Visual Editor (Seperates Fenster) Allgemeine Java-Themen 7
Z Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung). Allgemeine Java-Themen 4
F Eclipse cache vorhanden? Allgemeine Java-Themen 5
P Eclipse langsam/unbrauchbar bei größeren Quelldateien? Allgemeine Java-Themen 8
S Externe Eclipse Projekte dynamisch einbinden Allgemeine Java-Themen 3
M Eclipse - Fehler: Hauptklasse de.xyz.init.MeineKlasse konnte nicht gefunden oder geladen werden Allgemeine Java-Themen 2
G Befehl funktioniert in Eclipse allerdings nicht in einer Jar-Datei Allgemeine Java-Themen 3
A Eclipse - Fehler beim "RUN" - "Unable to Launch - The selection cannot be launched" Allgemeine Java-Themen 6
X Registrierung eines Ecore-Models außerhalb der Eclipse-Umgebung Allgemeine Java-Themen 0
W getResources funktioniert nur in Eclipse, nicht in JAR Allgemeine Java-Themen 2
B Classpath Eclipse findet importierte Klassen nicht Allgemeine Java-Themen 1
E Erste Schritte JOCL in Eclipse Allgemeine Java-Themen 5
G Warnung in der Konsole von Eclipse "WARNING: ..." Allgemeine Java-Themen 2
O 3D-Grafik java3D in eclipse verwenden Allgemeine Java-Themen 0
B Eclipse Fehler in eclipse/Java Allgemeine Java-Themen 13
F Eclipse Eclipse kompiliert nicht mehr die aktuellen Dateien Allgemeine Java-Themen 2
J Compiler-Fehler Compiliert unter Eclipse aber nicht mit javac Allgemeine Java-Themen 0
K Eclipse compiled .Jar - Fehlerhaft? Allgemeine Java-Themen 2
S XML lesen, verarbeiten, speichern klappt in Eclipse, aber nicht in der JAR Allgemeine Java-Themen 4
S Eclipse Abhängigkeiten zwischen den Projekten in Eclipse Allgemeine Java-Themen 2
L Erste Schritte Eclipse und Lokal funktioniert - in HTML nicht! Allgemeine Java-Themen 2
U Eclipse Java Projekt - Webservice einbinden Allgemeine Java-Themen 7
K Eclipse Fehler beim Ausführen meines Programms in Eclipse Allgemeine Java-Themen 11
F eclipse, texlipse, R und mysql Allgemeine Java-Themen 2
TheWhiteShadow Eclipse auf deutsch Allgemeine Java-Themen 11
E Eclipse jar-Export Allgemeine Java-Themen 26
MiMa Quelllcode in Eclipse gelöscht Allgemeine Java-Themen 11

Ähnliche Java Themen


Oben