半透明の DnD フィードバック
スタンプのドラッグを開始した時,オリジナルの状態では,ドラッグ中のスタンプは長方形の線で表示されるのみである。これが,ドラッグ中もスタンプが半透明で表示されると,何をドラッグしているのかがわかりやすい。そのために使えそうな TransferHandler#getVisualRepresentation(Transferable t) というメソッドがあるが,実際やってみると,このメソッドをオーバーライドしても呼ばれることはなく無視されてしまう。このことはオラクルのサイトにバグとして報告されており,同サイトに work around (PatchedTransferHandler.java)が出ていた。これを組み込んで改造して,下のように半透明のフィードバックが出るようにした。ただし,Mac でしか動かないようだ。
スタンプのドラッグ:改造前 |
| 改造後 |
| ||
スタンプ箱からのドラッグ:改造前 |
| 改造後 |
| ||
シェーマのドラッグ:改造前 |
| 改造後 |
|
- PatchedTransferHandler.java
- TransferHandler に exportAsDrag と getVisualRepresentation をインプリメントする。
« IME on/off の切り替え | トップページ | 部位入力パネルをグラフィカルに »
「OpenDolphin」カテゴリの記事
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)
- IME on/off の切り替え(2024.09.03)