ひらおかゆみのなげやりブログ

もう、なげやりです…

JavaFXのHTMLEditorSkinはどこまで使えるか?

このエントリは、JavaFX Advent Calendar 2017の22日目です。昨日は@sk44_さんの「業務で JavaFX をちょっとだけ使ってみた」でした。

前回の私のエントリを公開した後、青江 (@aoetk) さんからアドバイスをいただきました。

よし、これでいける!

早速Cutメニューのハンドラを作ってみたのですが、なぜか動かない。こういう時はまずドキュメントを見よう、ということでjavafx.scene.skin.HTMLEditorSkinの項目を見てみます(それにしてもJDK 9のAPIドキュメントは使い勝手が微妙…)。

Special-case handling for certain commands. Over time this may be extended to handle additional commands. The current list of supported commands is:

  • BOLD
  • ITALIC
  • UNDERLINE

 現時点でサポートされているのはBOLD、ITALIC、UNDERLINEだけ、とはっきり書いてありますね。

JavaFX 9では標準コントロールのSkinが公開されたため、コントロールの見栄えを(CSSでできる以上に)カスタマイズできるようになりました。HTMLEditorのスキンであるHTMLEditorSkinもその1つ。ただし、現時点でHTMLEditorSkinにできることは、

  • レイアウトの微調整
  • BOLD、ITALIC、UNDERLINEボタンの制御

だけでした。ほかのボタンの制御も早くサポートされるといいな。

ここで終わるのも悔しい(&12/24に書くことがなくなる)ので、HTMLEditorSkinの内部にリフレクションAPIでアクセスして、どうにかできないものか試してみます。