2015-06-10 17 views
5

Sto cercando una ricca textarea in javafx. Ho provato il componente RichTextFX di Tomas Mikula ma è troppo buggato per i miei bisogni.Swing JTextPane in javafx

Stavo pensando se sarebbe possibile collegare un oscillatore JTextPane usando la classe SwingNode.

Finora funziona come in, posso vedere il testo nel JTextPane e il JScrollPane attorno funziona anche. Anche un mouselistener sul JTextPane sembra essere attivato correttamente per gli eventi del mouse, ma a parte questo ... niente funziona.

Non v'è alcun cursore che indica la posizione corrente, non c'è modo di "click" con il mouse per cambiare la posizione, selezionare il testo, ...

eventi

chiave semplicemente non arrivano (utilizzando un keyListener)

È possibile utilizzare un JTextPane in javafx e, in caso affermativo, cosa mi manca?

+0

Forse potresti usare [HTMLEditor] (https://docs.oracle.com/javafx/2/api/javafx/scene/web/HTMLEditor.html) –

+0

Ho un problema simile con JPasswordField. Io uso questa soluzione alternativa al momento. 'node.setOnMouseReleased (event -> node.requestFocus());' (node ​​è il tuo SwingNode). – user3141592

+0

Ah molto bello! Posso confermare che questa correzione funziona anche per JTextPane. Nel frattempo ho scritto un nuovo controllo di area rich text in puro javafx, ma è comunque bello sapere :) Se riesci a ripetere la tua soluzione in una risposta, posso accettarla. – nablex

risposta

1

Attualmente conosco solo una soluzione per questo problema.
node.setOnMouseReleased(event -> node.requestFocus());
(il nodo è il tuo SwingNode).
Ho usato mouseRelease per simulare lo stesso comportamento dei nodi FX standard.