2014-06-11 16 views
6

Titel sagt alles: Ich habe ein Rechteck in JavaFX (für Transparenz/Deckkraft-Effekte), aber ich möchte, dass Menschen in der Lage sind, durch sie zu "klicken".JavaFX Machen Sie Objekt sichtbar, aber nicht verbrauchen (ignorieren) Klicks

Also, wenn ich sage klicken durch, ich meine, wenn Sie darauf klicken, sollte Java so tun, als wäre es nicht da und klicken Sie stattdessen auf was auch immer unter diesem Objekt ist. Wenn Sie mit setVisible (false) etwas unsichtbar machen, passiert genau dies - jedes Objekt, das Sie unsichtbar setzen, verbraucht nicht die Klickereignisse, die Ihre Maus erzeugt. Das Objekt wird jedoch unsichtbar - etwas, das ich nicht möchte.

Ist es möglich? Vielen Dank für Ihre Hilfe!

Antwort

10

Alle Node s in JavaFX eine setMouseTransparent() Methode, wie detaillierte here, wo die mouseTransparent Eigenschaft ist:

Wenn das stimmt, diesen Knoten (zusammen mit all seinen Kindern) ist völlig transparent für Mausereignisse. Wenn Sie ein Ziel für ein Mausereignis auswählen, werden die Knoten mit mouseTransparent auf "true" gesetzt und ihre Teilbäume werden nicht berücksichtigt.

Wenn Sie komplexere Maus Transparenzeffekte benötigen, wie zum Beispiel, die nur der übergeordnete Knoten transparent sein, können Sie das mit einem anderen Verfahren den Umgang mit Klickerkennung ( seinen Namen entgeht mir im Moment ich kombinieren müssen denke, es war pickOnBounds; wie für die Verwendung, kann ich nicht sicher sagen.Ich denke, ich habe es mehr missbraucht, indem Sie buchstäblich alles in meiner App auf true oder false, aber ich erinnere mich nicht, welche, und leider würde Ihnen nicht sagen können, für welche Knoten Sie diese Eigenschaft festlegen müssten, aber für einfache Maustransparenz sollte das funktionieren.

Verwandte Themen