# KeyEvents in Java ändern



## Summer (3. Dez 2008)

Hallo,

ich möchte gerne bei einem Object die entf-Taste deaktivieren, weiss jemand wo das in meinem EMF-Projekt möglich(edit,editor,welche Klasse bzw. Methode)??? 

Danke im vorraus,
Summer


----------



## Wildcard (3. Dez 2008)

Bei einem Objekt die entf Taste deaktivieren? Kannst du das auch verständlich beschreiben?


----------



## Summer (3. Dez 2008)

Ich habe 1 Klasse mit einer anderen unterklasse:

project
   runnable

bis jetzt habe ich es nur geschafft, das beim rechten mouse-klick auf runnable "delete" nicht angezeigt wird und somit auch nicht gelöscht werden kann, jetzt möchte ich aber das runnable auch dann nicht gelöscht wird wenn ich die entf-taste drücke

ich hoffe es ist jetzt etwas verstänlicher??


----------



## Wildcard (3. Dez 2008)

In dem generierten Baum Editor? Schau nach wo das Command erzeugt wird und klinke dich ein.


----------



## Summer (3. Dez 2008)

ja. weisst du zufällig wo das command erzeugt wird, edit,editor??


----------



## Wildcard (3. Dez 2008)

editor. Der reagiert logischerweise auf die Events


----------



## Summer (3. Dez 2008)

und was mach ich wenn ich das Command gefunden habe??


----------



## Wildcard (3. Dez 2008)

Das Command nicht erstellen wenn man das Element nicht löschen können darf, oder ein eigenes Command verwenden das canExecute entsprechend überschreibt.


----------



## Summer (3. Dez 2008)

Ich finde leider nur den CommandStack aber keinen Command ???:L


----------



## Wildcard (3. Dez 2008)

Willst du die Dinger gar nicht mehr löschen können? Dann kannst du vermutlich auch im edit code im entsprechenden ItemProvider die createRemoveCommand überschreiben


----------



## Summer (3. Dez 2008)

ja aber nur wenn sie in einer bestimmten reihen folge auftretten:

1.Fall                                   2.Fall
ProjectRepository                  SWRepository
   -project                                        -SW     
        -SW                                            -Runnable
             -Runnable                              


 Ich will es nur im 1.Fall nicht löschen können, wenn es so vorkommt.

Ich hoff es ist einigermasse verständlich vorauf ich hinaus will


----------



## Wildcard (3. Dez 2008)

Dann versuch doch wirklich mal im Item Provider das createRemoveCommand zu überschreiben. Werte die Business Logik aus und wenn löschen erlaubt ist, gibst du super.createRemoveCommand zurück, ansonsten eben ein inexecutable command.


----------



## Summer (4. Dez 2008)

ok, versuchs mal.

Danke


----------



## Summer (4. Dez 2008)

Weisst du vielleicht wie ich den Referenten einer Klasse bekommen???

Mit getParent bekomme ich ja den Parent von Child, ich möchte aber die Klasse bekommen die Child referiert.


  :?:


----------



## Wildcard (4. Dez 2008)

Referiert? Wtf?



> Mit getParent bekomme ich ja den Parent von Child, ich möchte aber die Klasse bekommen die Child referiert.


Jetzt bitte nochmal in deutsch, oder einer anderen Sprache die ich verstehe.


----------



## Summer (4. Dez 2008)

:lol:

sorry

ich habe eine Klasse "Pro" die Referiert die Klasse "Run", also eine non-containment reference, und die Klasse "SW" welche die Parant Klasse also eine containment reference von "Run" ist.

wenn ich im ItemProvider von "SW" in der Methode createRemoveCommand, die Funktion -> getParent aufrufe bekomme ich "SW" zurück (logisch), wie kann ich die Klasse "Pro" zurück bekommen???

Hoff das war jetzt ein bischen verständlicher


----------



## Wildcard (4. Dez 2008)

Das Ding heißt referenziert  :wink: 


> ich habe eine Klasse "Pro" die Referiert die Klasse "Run", also eine non-containment reference, und die Klasse "SW" welche die Parant Klasse also eine containment reference von "Run" ist.


-Pro hat eine Referenz auf Run
-SW ist der Container von Run



> wenn ich im ItemProvider von "SW" in der Methode createRemoveCommand, die Funktion -> getParent aufrufe bekomme ich "SW" zurück (logisch),


-also ist SW auch der Container von SW



> wie kann ich die Klasse "Pro" zurück bekommen???


So wie du das beschreibst hat SW doch gar keinen Bezug zu Run


----------



## Summer (4. Dez 2008)

SW ist der Container von Run.

In der Eclipse Application wird die Methode CreateRemoveCommand aus dem SWItemProvider dann aufgerufen, wenn ich auf Run klicke. logischerweise bekomme ich dann auch bei getParent SW zurück, aber wie könnte ich die Klasse Pro zurück bekommen, mit welchen Befehl???


----------



## Wildcard (4. Dez 2008)

Du willst wissen welche(s) Run(s) von einem SW Objekt referenziert werden?
sw.getRuns()


----------



## Summer (4. Dez 2008)

nein, run wird ja von Pro referenziert, und ich will das er mir Pro anzeigt.


----------



## Wildcard (4. Dez 2008)

sw.getPro().getRun()?


----------

