2015-06-10 13 views
5

Poszukuję bogatego textarea w javafx. Próbowałem komponentu RichTextFX autorstwa Tomasa Mikuły, ale jest zbyt niepoprawny dla moich potrzeb.Swing JTextPane w javafx

Zastanawiam się, czy możliwe byłoby podłączenie swing JTextPane za pomocą klasy SwingNode.

Do tej pory działa tak jak w, widzę tekst w JTextPane i JScrollPane wokół niego działa nawet. Myszlista na JTextPane wydaje się być również poprawnie uruchamiana dla zdarzeń myszy, ale poza tym ... nic nie działa.

Nie ma kursor wskazujący aktualną pozycję, nie ma mowy, aby „klik” przy użyciu myszy, aby zmienić pozycję, wybierz tekst, ...

Najważniejsze wydarzenia po prostu nie docierają (stosując KeyListener)

Czy można używać JTextPane w javafx, a jeśli tak, to czego mi brakuje?

+0

Być może mógłbyś użyć [HTMLEditor] (https://docs.oracle.com/javafx/2/api/javafx/scene/web/HTMLEditor.html) –

+0

Mam podobny problem z JPasswordField. Używam tego obejścia w tej chwili. 'node.setOnMouseReleased (event -> node.requestFocus());' (węzeł to twój SwingNode). – user3141592

+0

Ah bardzo ładne! Mogę potwierdzić, że ta poprawka działa również dla JTextPane. W międzyczasie napisałem nową kontrolę obszaru tekstu w czystym javafxie, ale wciąż miło wiedzieć :) Jeśli potrafisz powtórzyć rozwiązanie w odpowiedzi, mogę to zaakceptować. – nablex

Odpowiedz

1

Obecnie tylko znam obejście tego problemu.
node.setOnMouseReleased(event -> node.requestFocus()); (węzeł to twój SwingNode).
Użyłem myszki, aby naśladować to samo zachowanie, co standardowe węzły FX.