Swing getComponentAt()

D

dotlot

Gast
Hallo,

Ich hab gerade angefangen einen MultiTouch Display zu implementieren. Ich bekommeeinen Point für die fingerberührung zurück mit Float werden bezogen auf die Displaygrösse bzw umgerechnet die absolute Position.
Ich habe Ein Panel auf dem ich ein Object erzeuge wenn ich auf dem Panel tippe ->OK
Nun kann ich abfragen welche componente unter dem finger auf dem panel liegt. ->OK
wenn ich nun vor dem erzeugen meine klasse die von JFilchosser ist aufrufe, erkennte er diese nicht als objekt an.
Gibt mir nur den container zurück

Ich habe eine Klasse Touchhandler die listener implementieren Addfinger, updateFinger, removeFinger(). Diese Klasse interpretiert die finger und schaut worauf ich zeige.

wie koennte ich das nun lösen?
Danke
 
N

noDot

Gast
das ist eine Java frage die sich auf Jpanel Jcomponent und getComponentAt() bezieht. das Workaround ist in dem Fall nicht relewant
 

Michael...

Top Contributor
Ist jetzt nur geraten, da noch so genau verstanden habe was genau Du da machst: Vielleicht fragst Du die falsch Komponente.
Was meinst Du mit "umgerechnet auf die absolute Position"? Keine Ahnung wie Deine "TouchListener" implementiert sind und welchen Punkt sie zurücklieferen, aber die Methode getComponentAt erwartet einen Punkt relativ zum Ursprung der Komponente.
 

lumo

Top Contributor
ich glaube du versuchst einen absoluten punkt in eine relative punktangabe zu stecken...

ev solltest du dir zuerst die relative punktposition oder die absolute errechnen, und dann in die korrekte angabe stopfen.

.getcomponentat braucht was relatives -> wenn du ne absolute position hast, musst du zuerst die position der parent klasse davon abziehen. (um die position einer component zum display zu bekommen gibts ne eigene funktion, musst dir also keine eigene schreiben...)
 
I

InselBewohner

Gast
Yeah danke!

Java:
SwingUtilities.getDeepestComponentAt(Controller.SINGLETON.getPanel(), crusorsPosition.x, crusorsPosition.y));
Damit ist dieses Thema erledigt und ich bedanke mich!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B getComponentAt() liefert immer das Panel AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben