MausEvent auslösen

(vom Dienstag, den 02. Juni 2009 um 07:31 Uhr)

Gerade arbeite ich an einer Funktion die einen Mausklick simulieren soll.

void mouseDragOld(long id, float x, float y) {
int xAbs = (int) (x * frame.getWidth());
int yAbs = (int) (y * frame.getHeight());
Component component = frame.findComponentAt(xAbs, yAbs);
MouseEvent myClick = new MouseEvent(
ElementBindedByTouch, MouseEvent.MOUSE_CLICKED,
System.currentTimeMillis() + 100, xAbs, yAbs, 5, 1, false);
component.dispatchEvent(myClick);
}

Bei einem JButton klappt das sogar mit doClick(int time) noch besser da man einen längeren Klick simulieren kann.

Da ich mit einem Touchscreen arbeite, möchte ich allerdings das drücken und wieder loslassen simulieren.

Das gestaltet sich schwierig, da Swing nicht threadsicher ist.

Falls ich eine Lösung finde, werd ich die hier natürlich auch veröffentlichen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.