2015-06-10 13 views
5

Ich bin auf der Suche nach einem reichen Textarea in Javafx. Ich habe die RichTextFX-Komponente von Tomas Mikula ausprobiert, aber es ist zu fehlerhaft für meine Bedürfnisse.Swing JTextPane in javafx

Ich überlegte, ob es möglich wäre, einen Swing-JTextPane mit der SwingNode-Klasse anzuschließen.

Bisher funktioniert es tatsächlich wie in, ich kann den Text in der JTextPane und die JScrollPane um es sogar funktioniert sehen. Ein Maus-Listener auf dem JTextPane scheint auch korrekt für Mausereignisse ausgelöst zu sein, aber anders als das ... nichts funktioniert.

Es gibt keinen Cursor die aktuelle Position anzeigt, keine Möglichkeit zu „Klick“ mit der Maus, um die Position zu ändern, wählen Sie Text, ...

Wichtige Ereignisse einfach nicht ankommen (mit einem keyListener)

Ist es möglich, ein JTextPane in javafx zu verwenden und wenn ja, was fehlt mir?

+0

Vielleicht könnten Sie [HTMLEditor] (https://docs.oracle.com/javafx/2/api/javafx/scene/web/HTMLEditor.html) –

+0

Ich habe ein ähnliches Problem mit einem JPasswordField. Ich verwende diese Problemumgehung im Moment. 'node.setOnMouseReleased (event -> node.requestFocus());' (Knoten ist dein SwingNode). – user3141592

+0

Ah sehr nett! Ich kann bestätigen, dass dieser Fix auch für den JTextPane funktioniert. In der Zwischenzeit habe ich eine neue Rich-Text-Bereichssteuerung in pure javafx geschrieben, aber immer noch gut zu wissen :) Wenn Sie Ihre Lösung in einer Antwort wiederholen können, kann ich sie akzeptieren. – nablex

Antwort

1

Derzeit kenne ich nur eine Problemumgehung für dieses Problem.
node.setOnMouseReleased(event -> node.requestFocus());
(Knoten ist Ihr SwingNode).
Ich verwendete mausReleased, um das gleiche Verhalten wie die Standard-FX-Knoten nachzuahmen.